Function at 0x438580
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a79db
mov eax, dword fs:[0]
push eax
sub esp, 0x360
mov eax, dword [0x4db06c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [edi + 0x1c48]
mov dword [ebp - 0x2ec], eax
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x1c30]
lea ecx, [eax + ecx*4]
mov eax, dword [ecx]
cmp eax, 0x20
je 0x43872b
cmp eax, 0x21
je 0x43872b
cmp eax, 0x22
je 0x43872b
mov eax, dword [ecx + 0xc]
mov dword [edi + 0x137c], eax
mov eax, dword [ecx + 0x10]
mov dword [edi + 0x1380], eax
call dword [sym.imp.USER32.dll_GetForegroundWindow]
test eax, eax
je 0x438624
mov ecx, dword [edi + 0x48]
test ecx, ecx
je 0x438624
cmp eax, ecx
je 0x438618
push eax
push ecx
call dword [sym.imp.USER32.dll_IsChild]
test eax, eax
je 0x438624
mov dword [ebp - 0x274], 1
jmp 0x43862e
mov dword [ebp - 0x274], 0
mov esi, dword [sym.imp.USER32.dll_GetKeyState]
push 0x11
call esi
movzx ebx, ax
shr ebx, 0xf
push 0x10
and ebx, 1
call esi
shr eax, 0xf
and eax, 1
push 2
mov dword [ebp - 0x29c], eax
call esi
shr eax, 0xf
xor ecx, ecx
and eax, 1
mov dword [ebp - 0x280], eax
mov eax, dword [edi + 0x137c]
cmp eax, 7
mov dword [ebp - 0x264], eax
sete cl
mov dword [ebp - 0x2e8], ecx
cmp eax, 9
je 0x43868f
mov dword [ebp - 0x268], 0
cmp eax, 0xa
jne 0x438699
mov dword [ebp - 0x268], 1
mov eax, dword [edi]
mov ecx, edi
push 0xbfc
call dword [eax + 0x118]
cmp dword [edi + 0x150c], 1
mov dword [ebp - 0x2bc], eax
je 0x4386d0
mov ecx, dword [edi + 0x137c]
cmp ecx, 0xa
je 0x43870e
cmp ecx, 5
jne 0x438704
cmp dword [edi + 0x1380], 1
je 0x43870e
mov esi, dword [ebp - 0x29c]
mov ecx, edi
push esi
push dword [ebp - 0x274]
push ebx
push eax
push dword [ebp + 8]
call fcn.004371f0
mov eax, dword [edi + 0x1388]
and eax, 0x2000000
or eax, 0
je 0x43877d
mov eax, 1
jmp 0x43877f
cmp ecx, 2
je 0x43870e
cmp ecx, 3
jne 0x4386d0
mov ecx, 0xc7
call fcn.00460030
cmp dword [edi + 0x2304], 0
mov esi, eax
je 0x43874b
push esi
mov ecx, edi
call fcn.004444e0
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00487555
mov esp, ebp
pop ebp
ret 4
push edi
lea ecx, [ebp - 0xd4]
call fcn.0044d750
push 0
mov dword [ebp - 4], 0
mov ecx, eax
mov edx, dword [eax]
push str.Error
push esi
call dword [edx + 0x220]
lea ecx, [ebp - 0xd4]
call fcn.0044d860
jmp 0x43872b
xor eax, eax
cmp dword [edi + 0x1ca4], 0
mov dword [ebp - 0x290], eax
je 0x438920
test eax, eax
jne 0x438920
mov dword [ebp - 0x2a0], 1
xor eax, eax
push 0x12e0
mov dword [edi + 0x22e0], eax
lea eax, [edi + 0x23b0]
push 0
push eax
mov dword [edi + 0x2344], 0
mov dword [edi + 0x2340], 0
mov dword [edi + 0x2338], 0
mov dword [edi + 0x233c], 0
mov dword [edi + 0x1c3c], 0
mov dword [edi + 0x1c40], 0
call fcn.0048b570
mov eax, 0x9320
mov dword [edi + 0x1c44], 0
add esp, 0xc
mov dword [edi + 0x2300], 1
cmp word [0x4e02f0], ax
jne 0x438836
mov eax, dword [edi + 0x138c]
or dword [edi + 0x1388], 0x10000000
mov dword [edi + 0x138c], eax
mov eax, dword [edi + 0x3a04]
lea ecx, [edi + 0x3a04]
call dword [eax + 0x180]
mov edx, dword [edi]
inc eax
push 0xbbb
mov ecx, edi
mov dword [ebp - 0x298], eax
call dword [edx + 0x110]
push eax
call dword [sym.imp.USER32.dll_GetWindowTextLengthW]
mov ecx, dword [ebp - 0x298]
inc eax
mov dword [ebp - 0x294], eax
cmp ecx, 1
jle 0x43872b
cmp dword [ebp - 0x264], 7
je 0x438896
cmp dword [ebp - 0x268], 0
jne 0x438896
cmp eax, 1
jle 0x43872b
push ecx
lea ecx, [ebp - 0x2b8]
call fcn.00411e30
push dword [ebp - 0x294]
lea ecx, [ebp - 0x27c]
mov dword [ebp - 4], 1
call fcn.00411e30
mov byte [ebp - 4], 2
cmp dword [edi + 0x2304], 0
mov dword [ebp - 0x260], 1
mov dword [ebp - 0x26c], 0
jne 0x43899c
cmp dword [edi + 0x1ac8], 0
jne 0x438992
cmp dword [ebp - 0x274], 0
je 0x4388fd
test ebx, ebx
jne 0x438992
mov ecx, dword [edi + 0x1cac]
test ecx, ecx
je 0x43896a
test byte [ebp + 8], 4
je 0x43896a
cmp dword [ebp - 0x264], 7
jne 0x43894a
mov eax, 0x1ab4
lea edx, [eax + 0x10]
jmp 0x438954
mov dword [ebp - 0x2a0], 0
test eax, eax
je 0x4387a4
test esi, esi
jne 0x438940
test byte [ebp + 8], 4
je 0x4387a4
mov eax, 1
jmp 0x4387a6
mov eax, 0x1ab0
mov edx, 0x1ac0
cmp ecx, 1
cmovne eax, edx
xor ecx, ecx
cmp dword [eax + edi], ecx
sete cl
mov dword [ebp - 0x26c], ecx
jmp 0x43899c
cmp dword [ebp - 0x264], 7
jne 0x438986
xor eax, eax
cmp dword [edi + 0x1ca0], eax
sete al
mov dword [ebp - 0x26c], eax
jmp 0x43899c
mov dword [ebp - 0x26c], 0
jmp 0x43899c
mov dword [ebp - 0x26c], 1
push dword [ebp - 0x298]
mov eax, dword [edi + 0x3a04]
mov ecx, dword [ebp - 0x2b8]
push ecx
lea ecx, [edi + 0x3a04]
mov dword [ebp - 0x2b4], 0xffffffff
call dword [eax + 0x170]
test eax, eax
je 0x438a08
cmp dword [ebp - 0x264], 7
je 0x438a5c
cmp dword [ebp - 0x268], 0
jne 0x438a5c
push dword [ebp - 0x294]
mov eax, dword [edi]
mov ecx, edi
push dword [ebp - 0x27c]
mov dword [ebp - 0x278], 0xffffffff
push 0xbbb
call dword [eax + 0xec]
test eax, eax
jne 0x438a5c
cmp dword [edi + 0x2304], 0
je 0x438a1f
push str.Cant_get_src_or_dst_field
mov ecx, edi
call fcn.004444e0
jmp 0x438a54
push edi
lea ecx, [ebp - 0xd4]
call fcn.0044d750
push 0
mov byte [ebp - 4], 3
mov ecx, eax
mov edx, dword [eax]
push str.Error
push str.Cant_get_src_or_dst_field
call dword [edx + 0x220]
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 2
call fcn.0044d860
xor eax, eax
mov dword [ebp - 0x260], eax
test ebx, ebx
je 0x438b03
cmp dword [ebp - 0x29c], 0
je 0x438b03
cmp dword [ebp - 0x280], 0
mov ebx, dword [ebp - 0x2b8]
je 0x438b09
test ebx, ebx
mov eax, 0x4c1430
mov ecx, str.fc_extest
cmovne eax, ebx
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x438ab9
test dx, dx
je 0x438ab5
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x438ab9
add eax, 4
add ecx, 4
test dx, dx
jne 0x438a93
xor eax, eax
jmp 0x438abe
sbb eax, eax
or eax, 1
test eax, eax
je 0x438b00
test ebx, ebx
mov eax, 0x4c1430
mov ecx, str.fc_extest_r_n
cmovne eax, ebx
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x438af7
test dx, dx
je 0x438af3
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x438af7
add eax, 4
add ecx, 4
test dx, dx
jne 0x438ad1
xor eax, eax
jmp 0x438afc
sbb eax, eax
or eax, 1
test eax, eax
jne 0x438b09
int3
mov ebx, dword [ebp - 0x2b8]
mov eax, dword [edi]
mov ecx, edi
push 0
push 0
push 0x45b
push 0xbcd
call dword [eax + 0x150]
mov eax, dword [edi + 0x3a74]
lea ecx, [edi + 0x3a74]
push 0
push 0
push 0x43b
call dword [eax + 0x148]
mov edx, dword [edi + 0x3a74]
lea ecx, [edi + 0x3a74]
and eax, 0xfbffffff
push eax
push 0
push 0x445
call dword [edx + 0x148]
mov eax, dword [edi]
mov ecx, edi
push 0x4b88fd
push 0
push 0xc
push 0xbcd
call dword [eax + 0x150]
mov eax, dword [edi]
mov ecx, edi
push 0x4b88fd
push 0
push 0xc
push 0xbc9
call dword [eax + 0x150]
mov eax, dword [edi]
mov ecx, edi
push 0x4b88fd
push 0
push 0xc
push 0xbd8
call dword [eax + 0x150]
cmp word [edi + 0x1b8c], 0
jne 0x438bb6
push 0
mov ecx, edi
call fcn.00434dc0
push 0
lea ecx, [ebp - 0x30c]
call fcn.0045b4a0
push 0
lea ecx, [ebp - 0x32c]
mov byte [ebp - 4], 4
call fcn.0045b4a0
push 0
lea ecx, [ebp - 0x36c]
mov byte [ebp - 4], 5
call fcn.0045b4a0
push 0
lea ecx, [ebp - 0x34c]
mov byte [ebp - 4], 6
call fcn.0045b4a0
test ebx, ebx
mov byte [ebp - 4], 7
mov eax, 0x4c1430
lea ecx, [ebp - 0x30c]
cmovne eax, ebx
push 0x4c1dbc
push eax
call fcn.0045b6c0
mov eax, dword [ebp - 0x264]
mov ecx, dword [ebp - 0x268]
cmp eax, 7
je 0x438c52
test ecx, ecx
jne 0x438c52
mov ecx, dword [ebp - 0x27c]
mov eax, 0x4c1430
test ecx, ecx
cmovne eax, ecx
lea ecx, [ebp - 0x32c]
push eax
call fcn.0045b9b0
mov eax, dword [ebp - 0x264]
mov ecx, dword [ebp - 0x268]
cmp dword [ebp - 0x2f8], 0
jle 0x439616
cmp eax, 7
je 0x438c74
test ecx, ecx
jne 0x438c74
cmp dword [ebp - 0x318], ecx
jle 0x439616
push 0
push 0
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x2b0], 0
mov dword [ebp - 0x2ac], 0xffffffff
call fcn.00411ee0
push 0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x2a8]
push 0
mov dword [ebp - 0x2a8], 0
mov dword [ebp - 0x2a4], 0xffffffff
call fcn.00411ee0
mov byte [ebp - 4], 9
push 0x102
mov dword [ebp - 0x2d8], 0xffffffff
call fcn.00487989
xor ecx, ecx
mov dword [ebp - 0x2dc], eax
add esp, 4
mov word [eax], cx
mov byte [ebp - 4], 0xa
push 0x102
mov dword [ebp - 0x2d0], 0xffffffff
call fcn.00487989
xor ecx, ecx
mov dword [ebp - 0x2d4], eax
add esp, 4
mov word [eax], cx
mov byte [ebp - 4], 0xb
push 0x102
mov dword [ebp - 0x2c8], 0xffffffff
call fcn.00487989
xor ecx, ecx
mov dword [ebp - 0x2cc], eax
add esp, 4
mov word [eax], cx
mov byte [ebp - 4], 0xc
push 0x102
mov dword [ebp - 0x2c0], 0xffffffff
call fcn.00487989
xor ecx, ecx
mov dword [ebp - 0x2c4], eax
add esp, 4
mov word [eax], cx
mov ebx, dword [ebp - 0x260]
mov byte [ebp - 4], 0xd
test ebx, ebx
je 0x438db3
cmp dword [ebp - 0x2bc], ecx
je 0x438db3
lea eax, [ebp - 0x2c4]
mov ecx, edi
push eax
lea eax, [ebp - 0x2cc]
push eax
lea eax, [ebp - 0x2d4]
push eax
lea eax, [ebp - 0x2dc]
push eax
lea eax, [ebp - 0x2a8]
push eax
lea eax, [ebp - 0x2b0]
push eax
lea eax, [ebp - 0x34c]
push eax
lea eax, [ebp - 0x36c]
push eax
call fcn.00437e50
mov ebx, eax
mov dword [ebp - 0x260], ebx
cmp dword [edi + 0x1724], 1
jne 0x438e27
lea ecx, [ebp - 0x25c]
call fcn.004307f0
lea eax, [edi + 0x1bdc]
push eax
lea edx, [edi + 0x1bd0]
lea ecx, [ebp - 0x25c]
call fcn.00431460
add esp, 4
cmp dword [ebp - 0x1e8], 1
jne 0x438e11
cmp dword [ebp - 0x1e4], 0xff312b08
jne 0x438e11
cmp dword [ebp - 0x1e0], 0xceb186bf
jne 0x438e11
mov eax, dword [ebp - 0x248]
or eax, dword [ebp - 0x244]
jne 0x438e27
mov eax, dword [edi + 0x138c]
or dword [edi + 0x1388], 0x80000000
mov dword [edi + 0x138c], eax
test ebx, ebx
je 0x438e62
lea eax, [ebp - 0x34c]
push eax
lea eax, [ebp - 0x36c]
push eax
lea eax, [edi + 0x1378]
push eax
lea eax, [ebp - 0x32c]
push eax
lea eax, [ebp - 0x30c]
push eax
lea ecx, [edi + 0x78]
call fcn.004165f0
mov ebx, eax
mov dword [ebp - 0x260], ebx
test ebx, ebx
jne 0x438e76
mov eax, dword [edi]
mov ecx, edi
push str.Error
push 0xbc9
call dword [eax + 0xf4]
push 0
push 0x4c1430
push 0x4c1dbc
lea ecx, [ebp - 0x30c]
call fcn.0045b8f0
mov ebx, eax
lea ecx, [ebp - 0x2e4]
push ebx
call fcn.00411e30
push 0
push 0x4caa74
push 0x4caa74
lea ecx, [ebp - 0x30c]
mov byte [ebp - 4], 0xe
call fcn.0045b8f0
mov esi, eax
lea ecx, [ebp - 0x28c]
push esi
call fcn.00411e30
push 0
push 0x4caa74
push 0x4caa74
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x30c]
push esi
push dword [ebp - 0x28c]
mov dword [ebp - 0x288], 0xffffffff
call fcn.0045b730
cmp dword [edi + 0x1724], 1
jne 0x438f19
call fcn.004725d0
cmp eax, 2
jne 0x438f19
mov eax, dword [edi + 0x138c]
or dword [edi + 0x1388], 0x4000000
mov dword [edi + 0x138c], eax
cmp dword [ebp - 0x260], 0
je 0x439279
cmp dword [ebp - 0x26c], 0
je 0x4390f5
cmp dword [ebp - 0x290], 0
jne 0x4390f5
push 0
push 0x4c1430
push 0x4c1dbc
push ebx
push dword [ebp - 0x2e4]
lea ecx, [ebp - 0x30c]
mov dword [ebp - 0x2e0], 0xffffffff
call fcn.0045b730
mov eax, dword [edi + 0x137c]
cmp eax, 5
jne 0x438f7f
lea ecx, [eax + 0x2c]
call fcn.0045fe50
mov esi, eax
jmp 0x438fa9
cmp eax, 4
jne 0x438f90
lea ecx, [eax + 0x35]
call fcn.0045fe50
mov esi, eax
jmp 0x438fa9
cmp dword [edi + 0x1490], 0
je 0x438fa7
mov ecx, 0x42
call fcn.0045fe50
mov esi, eax
jmp 0x438fa9
xor esi, esi
mov eax, dword [edi + 0x1388]
lea ecx, [ebp - 0xdc]
xor ebx, ebx
mov dword [ebp - 0x280], eax
cmp dword [edi + 0x1cac], ebx
mov edx, 0x945
mov eax, dword [edi + 0x138c]
mov dword [ebp - 0x26c], eax
setne bl
cmp dword [edi + 0x137c], 7
mov eax, 0x939
push edi
cmove eax, edx
push eax
call fcn.0046e6e0
mov dword [ebp - 0x60], esi
lea eax, [edi + 0x18f8]
lea esi, [edi + 0x1378]
mov dword [ebp - 0xdc], 0x4ca6f8
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x264]
mov byte [ebp - 4], 0x10
cmp ebx, 7
je 0x439039
cmp dword [ebp - 0x268], 0
jne 0x439039
mov eax, dword [ebp - 0x27c]
mov dword [ebp - 0x278], 0xffffffff
jmp 0x43903b
xor eax, eax
mov ecx, dword [ebp - 0x2e4]
mov edx, 0x4c1430
test ecx, ecx
mov dword [ebp - 0x64], eax
push 0
cmovne edx, ecx
lea ecx, [ebp - 0xdc]
mov dword [ebp - 0x68], edx
call fcn.0046e8a0
sub eax, 1
je 0x43909a
sub eax, 0xc20
je 0x439087
xor eax, eax
mov dword [ebp - 0x260], eax
cmp dword [edi + 0x1cac], eax
je 0x4390e6
cmp ebx, 7
je 0x4390e6
mov dword [edi + 0x1c88], eax
jmp 0x4390e6
xor eax, eax
mov ecx, edi
push 1
mov dword [ebp - 0x260], eax
call fcn.0043af90
jmp 0x4390e6
cmp ebx, 7
jne 0x4390e6
mov eax, dword [ebp - 0x280]
cmp dword [edi + 0x1388], eax
jne 0x4390bb
mov eax, dword [ebp - 0x26c]
cmp dword [edi + 0x138c], eax
je 0x4390e6
lea eax, [ebp - 0x34c]
push eax
lea eax, [ebp - 0x36c]
push eax
push esi
lea eax, [ebp - 0x32c]
push eax
lea eax, [ebp - 0x30c]
push eax
lea ecx, [edi + 0x78]
call fcn.004165f0
mov dword [ebp - 0x260], eax
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0xf
call fcn.0046e720
mov ebx, dword [ebp - 0x260]
test ebx, ebx
je 0x43927f
cmp dword [edi + 0x137c], 0xb
je 0x439288
cmp dword [ebp - 0x268], 0
jne 0x439288
cmp dword [ebp - 0x264], 7
lea esi, [edi + 0x18f8]
mov eax, dword [ebp - 0x28c]
mov ecx, esi
mov dword [ebp - 0x288], 0xffffffff
jne 0x439161
mov dword [ebp - 0x26c], eax
lea eax, [esi + 0x1dc]
mov dword [ebp - 0x280], eax
lea eax, [ebp - 0x280]
push 1
push eax
lea eax, [ebp - 0x26c]
jmp 0x4391a4
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x27c]
mov dword [ebp - 0x26c], eax
lea eax, [esi + 0x1d4]
mov dword [ebp - 0x284], eax
lea eax, [esi + 0x1d8]
mov dword [ebp - 0x280], eax
lea eax, [ebp - 0x284]
push 2
push eax
mov dword [ebp - 0x278], 0xffffffff
lea eax, [ebp - 0x270]
push eax
call fcn.004115b0
cmp dword [ebp - 0x2bc], 0
je 0x439270
mov eax, dword [ebp - 0x2b0]
mov ecx, esi
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x2dc]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x2d4]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x2cc]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x2c4]
mov dword [ebp - 0x18], eax
lea eax, [esi + 0x1e0]
mov dword [ebp - 0x4c], eax
lea eax, [esi + 0x1e4]
mov dword [ebp - 0x48], eax
lea eax, [esi + 0x1e8]
mov dword [ebp - 0x44], eax
lea eax, [esi + 0x1ec]
mov dword [ebp - 0x40], eax
lea eax, [esi + 0x1f0]
mov dword [ebp - 0x3c], eax
lea eax, [esi + 0x1f4]
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x4c]
push 6
push eax
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c0], 0xffffffff
push eax
mov dword [ebp - 0x2c8], 0xffffffff
mov dword [ebp - 0x2d0], 0xffffffff
mov dword [ebp - 0x2d8], 0xffffffff
mov dword [ebp - 0x2a4], 0xffffffff
mov dword [ebp - 0x2ac], 0xffffffff
call fcn.004115b0
mov ecx, edi
call fcn.0043e290
jmp 0x439288
mov ebx, dword [ebp - 0x260]
cmp dword [ebp - 0x2a0], 0
je 0x4392d1
push dword [ebp - 0x290]
lea eax, [ebp - 0x2a8]
mov ecx, edi
push dword [ebp - 0x2e8]
push dword [ebp - 0x2ec]
push eax
lea eax, [ebp - 0x2b0]
push eax
lea eax, [ebp - 0x27c]
push eax
lea eax, [ebp - 0x28c]
push eax
mov eax, dword [ebp - 0x294]
add eax, dword [ebp - 0x298]
lea eax, [eax*4 + 0x2081]
push eax
call fcn.00438290
test ebx, ebx
je 0x4395ba
mov edx, dword [edi]
mov ecx, edi
call fcn.004335c0
neg eax
sbb eax, eax
neg eax
push eax
push 0
push 0x448
push 0xbcd
call dword [edx + 0x150]
mov ecx, edi
call fcn.004335c0
mov edx, dword [edi]
xor ecx, ecx
test eax, eax
sete cl
push ecx
push 0
push 0x448
push 0xbcf
mov ecx, edi
call dword [edx + 0x150]
mov ecx, edi
call fcn.00434a10
mov eax, dword [edi + 0x2354]
mov ecx, edi
mov dword [edi + 0x2350], eax
mov eax, dword [edi]
push 0x4b88fd
push 0xbcf
call dword [eax + 0xf4]
cmp dword [ebp - 0x264], 7
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x20], 0xffffffff
movlpd qword [ebp - 0x1c], xmm0
jne 0x43939c
cmp dword [ebp - 0x274], 0
je 0x43945a
cmp dword [ebp - 0x29c], 0
je 0x43945a
cmp word [edi + 0xf9e], 1
je 0x43945a
lea eax, [ebp - 0x34]
push eax
push dword [edi + 0x1cbc]
lea ecx, [edi + 0x78]
call fcn.00433460
test eax, eax
jne 0x43945a
cmp dword [edi + 0x1cbc], 1
je 0x43945a
mov eax, dword [edi + 0x22f4]
mov dword [edi + 0x2364], 1
test eax, eax
jne 0x4393eb
mov eax, dword [edi + 0x191c]
mov esi, dword [edi]
xor ecx, ecx
cmp dword [ebp - 0x34], eax
setl cl
add ecx, 0x59
call fcn.0045fe50
push eax
push 0xbc9
mov ecx, edi
call dword [esi + 0xf8]
mov eax, dword [edi]
mov ecx, edi
push 0
push 0x1f4
push 0x64
call dword [eax + 0x1a8]
push 9
mov ecx, edi
call fcn.0043bb70
test byte [edi + 0x1c8c], 4
je 0x439443
push 0
push dword [0x4e0940]
mov ecx, edi
push 9
push 1
call fcn.0043b4b0
cmp dword [edi + 0x2304], 3
jl 0x439469
push str.Waiting_for_other_fastcopy...
mov ecx, edi
call fcn.00444b50
jmp 0x439469
mov ecx, edi
call fcn.00439680
mov ebx, eax
mov dword [ebp - 0x260], ebx
test ebx, ebx
je 0x4395ba
mov esi, dword [edi]
mov ecx, 0x2a
call fcn.0045fe50
push eax
mov ecx, edi
call fcn.004335c0
neg eax
sbb eax, eax
and eax, 0xc02
inc eax
push eax
call dword [esi + 0xf8]
mov ecx, edi
call fcn.004335c0
neg eax
lea ebx, [edi + 0x3d94]
sbb eax, eax
and eax, 0xffffff9c
add ebx, eax
je 0x4394de
push dword [edi + 0x1c24]
mov eax, dword [ebx]
mov ecx, ebx
push 1
push 0xf7
call dword [eax + 0x148]
mov esi, dword [ebx]
mov ecx, 0x3b
push 0
push 0
call fcn.0045fe50
push eax
mov ecx, ebx
call dword [esi + 0x1f4]
push 1
mov ecx, edi
call fcn.00435fd0
cmp dword [0x4e042c], 6
jb 0x43951a
call dword [sym.imp.SHELL32.dll_IsUserAnAdmin]
test eax, eax
jne 0x43951a
push 3
push 0x7545
push dword [edi + 0x48]
call dword [sym.imp.USER32.dll_GetMenu]
push eax
call dword [sym.imp.USER32.dll_EnableMenuItem]
push dword [edi + 0x48]
call dword [sym.imp.USER32.dll_DrawMenuBar]
mov ebx, dword [ebp - 0x260]
mov eax, dword [ebp - 0x28c]
test eax, eax
je 0x439533
push eax
call fcn.00487954
add esp, 4
mov eax, dword [ebp - 0x2e4]
test eax, eax
je 0x439546
push eax
call fcn.00487954
add esp, 4
mov eax, dword [ebp - 0x2c4]
test eax, eax
je 0x439559
push eax
call fcn.00487954
add esp, 4
mov eax, dword [ebp - 0x2cc]
test eax, eax
je 0x43956c
push eax
call fcn.00487954
add esp, 4
mov eax, dword [ebp - 0x2d4]
test eax, eax
je 0x43957f
push eax
call fcn.00487954
add esp, 4
mov eax, dword [ebp - 0x2dc]
test eax, eax
je 0x439592
push eax
call fcn.00487954
add esp, 4
mov eax, dword [ebp - 0x2a8]
test eax, eax
je 0x4395a5
push eax
call fcn.00487954
add esp, 4
mov eax, dword [ebp - 0x2b0]
test eax, eax
je 0x439618
push eax
call fcn.00487954
add esp, 4
jmp 0x439618
mov dword [edi + 0x2300], 0
mov eax, dword [edi + 0x239c]
test eax, eax
je 0x43960a
cmp byte [eax], 0
je 0x43960a
cmp dword [ebp - 0x2a0], 0
je 0x4395e3
mov ecx, edi
call fcn.004443b0
mov eax, dword [edi + 0x239c]
test eax, eax
je 0x439600
push eax
call fcn.00487954
add esp, 4
mov dword [edi + 0x239c], 0
mov dword [edi + 0x23a0], 0xffffffff
mov ecx, edi
call fcn.0043aac0
jmp 0x439520
xor ebx, ebx
lea ecx, [ebp - 0x34c]
call fcn.0045b530
lea ecx, [ebp - 0x36c]
call fcn.0045b530
lea ecx, [ebp - 0x32c]
call fcn.0045b530
lea ecx, [ebp - 0x30c]
call fcn.0045b530
mov eax, dword [ebp - 0x27c]
test eax, eax
je 0x439657
push eax
call fcn.00487954
add esp, 4
mov ecx, dword [ebp - 0x2b8]
test ecx, ecx
je 0x43966a
push ecx
call fcn.00487954
add esp, 4
mov eax, ebx
jmp 0x43872d