【求助】一段反汇编看不懂,望有人可以帮忙解析下它的功能,具体如下,谢谢:
.text:00407433 ; =============== S U B R O U T I N E =======================================
.text:00407433
.text:00407433 ; Attributes: bp-based frame
.text:00407433
.text:00407433 sub_407433 proc near ; CODE XREF: wWinMain(x,x,x,x)+6Ep
.text:00407433
.text:00407433 arg_0 = dword ptr 8
.text:00407433 arg_4 = byte ptr 0Ch
.text:00407433 arg_8 = dword ptr 10h
.text:00407433 arg_C = dword ptr 14h
.text:00407433
.text:00407433 mov edi, edi
.text:00407435 push ebp
.text:00407436 mov ebp, esp
.text:00407438 mov ecx, [ebp+arg_0]
.text:0040743B xor eax, eax
.text:0040743D cmp ecx, eax
.text:0040743F push edi
.text:00407440 jz short loc_4074B9
.text:00407442 mov edi, [ebp+arg_8]
.text:00407445 cmp edi, eax
.text:00407447 jz short loc_4074B9
.text:00407449 cmp [ebp+arg_C], eax
.text:0040744C jz short loc_4074B9
.text:0040744E push esi
.text:0040744F xor dl, dl
.text:00407451 xor esi, esi
.text:00407453 cmp [ecx], ax
.text:00407456 jz short loc_4074B4
.text:00407458 push ebx
.text:00407459
.text:00407459 loc_407459: ; CODE XREF: sub_407433+7Ej
.text:00407459 cmp dl, al
.text:0040745B jz short loc_407476
.text:0040745D cmp [ebp+arg_4], al
.text:00407460 jz short loc_40746D
.text:00407462 cmp word ptr [ecx], 2Dh
.text:00407466 jnz short loc_40746D
.text:00407468 mov word ptr [ecx], 2Fh
.text:0040746D
.text:0040746D loc_40746D: ; CODE XREF: sub_407433+2Dj
.text:0040746D ; sub_407433+33j
.text:0040746D cmp esi, [ebp+arg_C]
.text:00407470 jnb short loc_407476
.text:00407472 mov [edi+esi*4], ecx
.text:00407475 inc esi
.text:00407476
.text:00407476 loc_407476: ; CODE XREF: sub_407433+28j
.text:00407476 ; sub_407433+3Dj
.text:00407476 xor bl, bl
.text:00407478 cmp [ecx], ax
.text:0040747B jz short loc_4074A6
.text:0040747D
.text:0040747D loc_40747D: ; CODE XREF: sub_407433+67j
.text:0040747D movzx edx, word ptr [ecx]
.text:00407480 cmp dx, 20h
.text:00407484 jnz short loc_40748A
.text:00407486 cmp bl, al
.text:00407488 jz short loc_40749C
.text:0040748A
.text:0040748A loc_40748A: ; CODE XREF: sub_407433+51j
.text:0040748A cmp dx, 22h
.text:0040748E jnz short loc_407495
.text:00407490 cmp bl, al
.text:00407492 setz bl
.text:00407495
.text:00407495 loc_407495: ; CODE XREF: sub_407433+5Bj
.text:00407495 inc ecx
.text:00407496 inc ecx
.text:00407497 cmp [ecx], ax
.text:0040749A jnz short loc_40747D
.text:0040749C
.text:0040749C loc_40749C: ; CODE XREF: sub_407433+55j
.text:0040749C cmp [ecx], ax
.text:0040749F jz short loc_4074A6
.text:004074A1 mov [ecx], ax
.text:004074A4
.text:004074A4 loc_4074A4: ; CODE XREF: sub_407433+77j
.text:004074A4 inc ecx
.text:004074A5 inc ecx
.text:004074A6
.text:004074A6 loc_4074A6: ; CODE XREF: sub_407433+48j
.text:004074A6 ; sub_407433+6Cj
.text:004074A6 cmp word ptr [ecx], 20h
.text:004074AA jz short loc_4074A4
.text:004074AC cmp [ecx], ax
.text:004074AF mov dl, 1
.text:004074B1 jnz short loc_407459
.text:004074B3 pop ebx
.text:004074B4
.text:004074B4 loc_4074B4: ; CODE XREF: sub_407433+23j
.text:004074B4 mov eax, esi
.text:004074B6 pop esi
.text:004074B7 jmp short loc_4074BB
.text:004074B9 ; ---------------------------------------------------------------------------
.text:004074B9
.text:004074B9 loc_4074B9: ; CODE XREF: sub_407433+Dj
.text:004074B9 ; sub_407433+14j ...
.text:004074B9 xor eax, eax
.text:004074BB
.text:004074BB loc_4074BB: ; CODE XREF: sub_407433+84j
.text:004074BB pop edi
.text:004074BC pop ebp
.text:004074BD retn 10h
.text:004074BD sub_407433 endp
.text:004074BD
.text:004074BD ; ---------------------------------------------------------------------------
.text:004074C0 db 5 dup(0CCh)
==========================================================
求救啊
~~O(∩_∩)O谢谢
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!