Function at 0x5532e4
Capabilities:
Check for time delay via gettickcount
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x27
push 0
push 0
dec ecx
jne 0x5532ec
push ecx
push ebx
push esi
push edi
mov dword [ebp - 0x50], edx
mov esi, eax
lea eax, [ebp - 0x14]
mov edx, dword [0x50adb4]
call fcn.00405e14
lea eax, [ebp - 0x24]
mov edx, dword [0x50acfc]
call fcn.00405e14
lea eax, [ebp - 0x34]
mov edx, dword [0x50acfc]
call fcn.00405e14
lea eax, [ebp - 0x4c]
mov edx, dword [0x50ad94]
call fcn.00405e14
xor eax, eax
push ebp
push 0x5540f5
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x553ed8
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x50]
add eax, 8
mov edi, dword [eax]
movzx eax, byte [edi]
cmp eax, 0x6d
jg 0x553382
je 0x5536ad
sub eax, 0x1e
je 0x5533a2
sub eax, 0x19
je 0x553437
sub eax, 0x21
je 0x55375d
jmp 0x553ece
sub eax, 0x6f
je 0x55362c
sub eax, 0x14
je 0x553b5c
sub eax, 0x69
je 0x553e30
jmp 0x553ece
mov eax, dword [0x5866d8]
cmp dword [eax], 0
je 0x553ece
mov eax, dword [0x5866d8]
mov eax, dword [eax]
cmp byte [eax + 0xd0], 0
je 0x553ece
lea eax, [edi + 1]
cmp byte [eax], 1
jne 0x553ece
mov eax, dword [0x5866d8]
mov eax, dword [eax]
cmp dword [eax + 0xd4], 0
jne 0x553ece
lea eax, [ebp - 4]
lea edx, [edi + 3]
call fcn.004053a0
lea eax, [ebp - 0xbc]
push eax
mov ecx, 1
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.004056a0
mov eax, dword [ebp - 0xbc]
mov edx, 0x554110
call fcn.004055d0
jne 0x553ece
mov eax, dword [0x5866d8]
mov eax, dword [eax]
add eax, 0xd4
mov edx, dword [ebp - 4]
call fcn.004051fc
jmp 0x553ece
mov eax, dword [esi + 0xca0]
cmp byte [eax + 0x57], 0
je 0x553ece
lea eax, [edi + 1]
movzx eax, byte [eax]
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 2
jne 0x55349a
lea ecx, [ebp - 0xc4]
lea eax, [edi + 3]
movzx edx, byte [eax]
mov eax, dword [0x586a98]
mov eax, dword [eax]
call fcn.00515a1c
mov ecx, dword [ebp - 0xc4]
lea eax, [ebp - 0xc0]
mov edx, 0x55411c
call fcn.004054c0
mov edx, dword [ebp - 0xc0]
mov eax, dword [esi + 0xeb0]
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x553ece
cmp dword [ebp - 0x54], 1
jne 0x553ece
lea ecx, [ebp - 0xb8]
lea eax, [edi + 2]
movzx edx, byte [eax]
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.0050d67c
test al, al
je 0x553ece
mov ebx, dword [ebp - 0xb8]
mov eax, ebx
add eax, 0xffffffe4
sub eax, 3
jb 0x553ece
cmp ebx, 0x3e2
je 0x553ece
cmp ebx, 0x57b
je 0x553ece
cmp ebx, 0xdc8
je 0x553ece
cmp ebx, 0xdc7
je 0x553ece
cmp ebx, 0xdc6
je 0x553ece
cmp ebx, 0x27
je 0x553ece
mov eax, ebx
sub eax, 0x22
je 0x553ece
sub eax, 0x16
je 0x553ece
sub eax, 0xb
je 0x553ece
cmp ebx, 0x4d2
je 0x553ece
cmp ebx, 0x3cf
je 0x553ece
cmp ebx, 0xdc3
je 0x553ece
cmp ebx, 0xeb2
je 0x553ece
mov eax, ebx
add eax, 0xffffffe1
sub eax, 3
jb 0x553ece
sub eax, 5
je 0x553ece
sub eax, 0x12
je 0x553ece
cmp ebx, 0x3e3
je 0x553ece
cmp ebx, 0x533
je 0x553ece
cmp ebx, 0xdc9
je 0x553ece
cmp ebx, 0x57c
je 0x553ece
cmp ebx, 0xdca
je 0x553ece
cmp ebx, 0xdcb
je 0x553ece
lea ecx, [ebp - 0x4c]
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov edx, dword [ebp - 0xb8]
call fcn.005170b8
mov eax, dword [esi + 0xd74]
mov eax, dword [eax + 0x260]
mov edx, dword [ebp - 0x48]
mov ecx, dword [eax]
call dword [ecx + 0x54]
test eax, eax
jl 0x553ece
lea eax, [ebp - 0xc8]
mov ecx, dword [ebp - 0x48]
mov edx, 0x55412c
call fcn.004054c0
mov edx, dword [ebp - 0xc8]
mov eax, dword [esi + 0xeb0]
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x553ece
lea eax, [edi + 1]
movzx eax, word [eax]
mov word [esi + 0xe76], ax
mov eax, dword [esi + 0x680]
call fcn.004dbc38
test al, al
je 0x553ece
push 0x11
call sub.user32.dll_GetKeyState
test ax, ax
jge 0x553ece
lea edx, [ebp - 0xcc]
mov eax, dword [esi + 0x72c]
call fcn.004528f8
mov eax, dword [ebp - 0xcc]
mov edx, 0x14
call fcn.0040a188
mov edx, dword [esi + 0xe2c]
mov dword [edx + 0xd4], eax
call fcn.004b9988
mov ebx, dword [esi + 0xe2c]
mov dword [ebx + 0xd8], eax
movzx eax, word [esi + 0xe76]
mov word [ebx + 0xdc], ax
jmp 0x553ece
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.0050cf54
lea ebx, [edi + 1]
cmp ax, word [ebx]
je 0x553ece
lea eax, [edi + 5]
movzx eax, byte [eax]
cmp al, 0x47
ja 0x5536d9
and eax, 0x7f
bt dword [0x554134], eax
jb 0x553ece
movzx eax, word [ebx]
mov word [esi + 0xe76], ax
mov eax, dword [esi + 0x680]
call fcn.004dbc38
test al, al
je 0x553ece
push 0x11
call sub.user32.dll_GetKeyState
test ax, ax
jge 0x553ece
lea edx, [ebp - 0xd0]
mov eax, dword [esi + 0x72c]
call fcn.004528f8
mov eax, dword [ebp - 0xd0]
mov edx, 0x14
call fcn.0040a188
mov edx, dword [esi + 0xe2c]
mov dword [edx + 0xd4], eax
call fcn.004b9988
mov ebx, dword [esi + 0xe2c]
mov dword [ebx + 0xd8], eax
movzx eax, word [esi + 0xe76]
mov word [ebx + 0xdc], ax
jmp 0x553ece
call fcn.004b9988
sub eax, dword [esi + 0xe9c]
cmp eax, 0xc8
jae 0x55377c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x554060
mov eax, dword [esi + 0x5b0]
call fcn.004dbc38
test al, al
je 0x553ece
push 0x11
call sub.user32.dll_GetKeyState
test ax, ax
jl 0x553ece
push 0x10
call sub.user32.dll_GetKeyState
test ax, ax
jge 0x553ece
lea eax, [ebp - 0x60]
push eax
call sub.user32.dll_GetCursorPos
lea eax, [ebp - 0x84]
push eax
mov eax, dword [0x586750]
mov eax, dword [eax]
mov eax, dword [eax + 0x30]
push eax
call sub.user32.dll_GetWindowRect
mov ebx, dword [ebp - 0x60]
sub ebx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x5c]
sub eax, dword [ebp - 0x80]
sub eax, 0x19
mov dword [ebp - 0x64], eax
test ebx, ebx
jl 0x5537ee
cmp dword [ebp - 0x64], 0
jge 0x5537fb
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x554060
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.0050c0e8
sub ebx, eax
test ebx, ebx
jns 0x553810
add ebx, 0x1f
sar ebx, 5
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.00511c88
add ebx, eax
mov dword [ebp - 0x68], ebx
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.0050c258
mov ebx, dword [ebp - 0x64]
sub ebx, eax
test ebx, ebx
jns 0x55383c
add ebx, 0xf
sar ebx, 4
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.00511cb0
add ebx, eax
lea ecx, [ebp - 0x14]
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov edx, 0x554148
call fcn.0050dbcc
test al, al
je 0x55394c
mov eax, dword [ebp - 0x68]
and eax, 0x80000001
jns 0x553878
dec eax
or eax, 0xfffffffe
inc eax
mov edx, ebx
and edx, 0x80000001
jns 0x553887
dec edx
or edx, 0xfffffffe
inc edx
cmp eax, edx
je 0x55388c
inc ebx
mov eax, dword [ebp - 0x50]
add eax, 0xc
mov dword [eax], 0xe
mov byte [edi], 0x6d
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.0050cf54
and al, 0xff
lea edx, [edi + 1]
mov byte [edx], al
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.0050cf54
movzx eax, ax
shr eax, 8
lea edx, [edi + 2]
mov byte [edx], al
lea eax, [edi + 3]
mov byte [eax], 0
lea eax, [edi + 4]
mov byte [eax], 0
lea eax, [edi + 5]
mov byte [eax], 7
movzx eax, byte [ebp - 0x68]
and al, 0xff
lea edx, [edi + 6]
mov byte [edx], al
mov eax, dword [ebp - 0x68]
and eax, 0xff00
shr eax, 8
lea edx, [edi + 7]
mov byte [edx], al
mov eax, dword [ebp - 0x68]
and eax, 0xff0000
shr eax, 0x10
lea edx, [edi + 8]
mov byte [edx], al
mov eax, dword [ebp - 0x68]
and eax, 0xff000000
shr eax, 0x18
lea edx, [edi + 9]
mov byte [edx], al
mov eax, ebx
and al, 0xff
lea edx, [edi + 0xa]
mov byte [edx], al
mov eax, ebx
and eax, 0xff00
shr eax, 8
lea edx, [edi + 0xb]
mov byte [edx], al
mov eax, ebx
and eax, 0xff0000
shr eax, 0x10
lea edx, [edi + 0xc]
mov byte [edx], al
and ebx, 0xff000000
shr ebx, 0x18
lea eax, [edi + 0xd]
mov byte [eax], bl
jmp 0x553b4c
mov dword [ebp - 0x70], 2
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.00511c88
mov dword [ebp - 0xd4], eax
fild dword [ebp - 0xd4]
add esp, 0xfffffffc
fstp dword [esp]
wait
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.00511cb0
mov dword [ebp - 0xd8], eax
fild dword [ebp - 0xd8]
add esp, 0xfffffffc
fstp dword [esp]
wait
fild dword [ebp - 0x68]
add esp, 0xfffffffc
fstp dword [esp]
wait
mov dword [ebp - 0xdc], ebx
fild dword [ebp - 0xdc]
add esp, 0xfffffffc
fstp dword [esp]
wait
call fcn.004b8060
mov dword [ebp - 0x6c], eax
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.00511c88
mov dword [ebp - 0x68], eax
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.00511cb0
mov ebx, eax
mov eax, dword [ebp - 0x6c]
cmp eax, 7
ja case.default.0x5539db
jmp dword [eax*4 + 0x5539e2]
mov eax, dword [ebp - 0x70]
add eax, eax
sub ebx, eax
jmp case.default.0x5539db
mov eax, dword [ebp - 0x70]
add dword [ebp - 0x68], eax
sub ebx, dword [ebp - 0x70]
jmp case.default.0x5539db
mov eax, dword [ebp - 0x70]
add eax, eax
add dword [ebp - 0x68], eax
jmp case.default.0x5539db
mov eax, dword [ebp - 0x70]
add dword [ebp - 0x68], eax
add ebx, dword [ebp - 0x70]
jmp case.default.0x5539db
mov eax, dword [ebp - 0x70]
add eax, eax
add ebx, eax
jmp case.default.0x5539db
mov eax, dword [ebp - 0x70]
sub dword [ebp - 0x68], eax
add ebx, dword [ebp - 0x70]
jmp case.default.0x5539db
mov eax, dword [ebp - 0x70]
add eax, eax
sub dword [ebp - 0x68], eax
jmp case.default.0x5539db
mov eax, dword [ebp - 0x70]
sub dword [ebp - 0x68], eax
sub ebx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x50]
add eax, 0xc
mov dword [eax], 0xa
lea eax, [edi]
mov byte [eax], 0x60
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.00511c88
and al, 0xff
lea edx, [edi + 1]
mov byte [edx], al
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.00511c88
shr eax, 8
lea edx, [edi + 2]
mov byte [edx], al
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.00511cb0
and al, 0xff
lea edx, [edi + 3]
mov byte [edx], al
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.00511cb0
shr eax, 8
lea edx, [edi + 4]
mov byte [edx], al
movzx eax, byte [ebp - 0x68]
and al, 0xff
lea edx, [edi + 5]
mov byte [edx], al
mov eax, dword [ebp - 0x68]
shr eax, 8
lea edx, [edi + 6]
mov byte [edx], al
mov eax, ebx
and al, 0xff
lea edx, [edi + 7]
mov byte [edx], al
mov eax, ebx
shr eax, 8
lea edx, [edi + 8]
mov byte [edx], al
fild dword [ebp - 0x68]
add esp, 0xfffffffc
fstp dword [esp]
wait
mov dword [ebp - 0xd4], ebx
fild dword [ebp - 0xd4]
add esp, 0xfffffffc
fstp dword [esp]
wait
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.00511c88
mov dword [ebp - 0xd8], eax
fild dword [ebp - 0xd8]
add esp, 0xfffffffc
fstp dword [esp]
wait
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.00511cb0
mov dword [ebp - 0xdc], eax
fild dword [ebp - 0xdc]
add esp, 0xfffffffc
fstp dword [esp]
wait
call fcn.004b8060
and al, 0xff
lea edx, [edi + 9]
mov byte [edx], al
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov byte [eax + 0x5d], 1
call fcn.004b9988
mov dword [esi + 0xe58], eax
jmp 0x553ece
cmp dword [esi + 0xe30], 0
jne 0x553ece
lea eax, [edi + 2]
movzx eax, word [eax]
mov dword [esi + 0xea8], eax
lea eax, [edi + 4]
movzx ebx, word [eax]
mov dword [esi + 0xeac], ebx
mov eax, dword [esi + 0xca0]
cmp byte [eax + 0x57], 0
je 0x553ece
lea eax, [edi + 1]
movzx eax, byte [eax]
dec al
je 0x553ba8
dec al
je 0x553d80
jmp 0x553ece
lea ecx, [ebp - 0x74]
movzx edx, word [esi + 0xea8]
mov eax, dword [0x586a98]
mov eax, dword [eax]
call fcn.00517e24
test al, al
je 0x553ece
mov eax, dword [ebp - 0x74]
call fcn.005243f8
sub ax, 1
je 0x553bde
sub ax, 4
jne 0x553c61
push 0x554158
lea edx, [ebp - 0xe4]
mov eax, dword [ebp - 0x74]
call fcn.005243d8
push dword [ebp - 0xe4]
push 0x554168
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.00511c88
lea edx, [ebp - 0xe8]
call fcn.00409fe0
push dword [ebp - 0xe8]
push 0x554168
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.00511cb0
lea edx, [ebp - 0xec]
call fcn.00409fe0
push dword [ebp - 0xec]
lea eax, [ebp - 0xe0]
mov edx, 6
call fcn.0040553c
mov edx, dword [ebp - 0xe0]
mov eax, dword [esi + 0xeb0]
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x553d73
mov eax, dword [ebp - 0x74]
call fcn.005243f8
cmp ax, 2
jne 0x553d73
lea edx, [ebp - 0xf0]
mov eax, dword [ebp - 0x74]
call fcn.005243d8
cmp dword [ebp - 0xf0], 0
je 0x553d0e
push 0x554174
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0x74]
call fcn.005243d8
push dword [ebp - 0xf8]
push 0x554168
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.00511c88
lea edx, [ebp - 0xfc]
call fcn.00409fe0
push dword [ebp - 0xfc]
push 0x554168
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.00511cb0
lea edx, [ebp - 0x100]
call fcn.00409fe0
push dword [ebp - 0x100]
lea eax, [ebp - 0xf4]
mov edx, 6
call fcn.0040553c
mov edx, dword [ebp - 0xf4]
mov eax, dword [esi + 0xeb0]
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x553d73
push 0x554184
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.00511c88
lea edx, [ebp - 0x108]
call fcn.00409fe0
push dword [ebp - 0x108]
push 0x554168
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.00511cb0
lea edx, [ebp - 0x10c]
call fcn.00409fe0
push dword [ebp - 0x10c]
lea eax, [ebp - 0x104]
mov edx, 4
call fcn.0040553c
mov edx, dword [ebp - 0x104]
mov eax, dword [esi + 0xeb0]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0x74]
call fcn.004041e0
jmp 0x553ece
lea ecx, [ebp - 0x24]
mov edx, ebx
mov eax, dword [0x586a98]
mov eax, dword [eax]
call fcn.005173d0
test al, al
je 0x553ece
lea ecx, [ebp - 0x34]
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
call fcn.00517508
test al, al
je 0x553e07
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x30]
je 0x553e07
push 0x554198
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov edx, dword [ebp - 0x20]
call fcn.00517790
lea edx, [ebp - 0x114]
call fcn.00409fe0
push dword [ebp - 0x114]
push 0x5541a8
lea eax, [ebp - 0x110]
mov edx, 3
call fcn.0040553c
mov edx, dword [ebp - 0x110]
mov eax, dword [esi + 0xeb0]
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x553ece
lea eax, [ebp - 0x118]
mov ecx, dword [ebp - 0x1c]
mov edx, 0x5541b4
call fcn.004054c0
mov edx, dword [ebp - 0x118]
mov eax, dword [esi + 0xeb0]
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x553ece
mov eax, dword [0x586a98]
mov eax, dword [eax]
call fcn.0051c3e4
test al, al
jne 0x553ece
lea eax, [ebp - 4]
lea edx, [edi + 5]
call fcn.004053a0
mov edx, dword [ebp - 4]
mov eax, 0x5541c4
call fcn.00405784
test eax, eax
jle 0x553ece
movzx eax, byte [0x5541d0]
push eax
lea eax, [ebp - 0x11c]
push eax
xor ecx, ecx
mov edx, 0x5541dc
mov eax, dword [ebp - 4]
call fcn.0040f6f0
mov edx, dword [ebp - 0x11c]
lea eax, [ebp - 4]
call fcn.00405240
movzx eax, byte [0x5541d0]
push eax
lea eax, [ebp - 0x120]
push eax
xor ecx, ecx
mov edx, 0x5541e8
mov eax, dword [ebp - 4]
call fcn.0040f6f0
mov edx, dword [ebp - 0x120]
lea eax, [ebp - 4]
call fcn.00405240
lea eax, [ebp - 4]
push eax
mov ecx, 0x7fffffff
mov edx, 0xf
mov eax, dword [ebp - 4]
call fcn.004056a0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x553eec
mov eax, dword [esi + 0x380]
call fcn.004dbc38
test al, al
je 0x554060
mov eax, dword [esi + 0x374]
cmp byte [eax + 0x258], 0
je 0x554060
movzx eax, byte [edi]
call fcn.005531b0
test al, al
jne 0x554060
lea eax, [ebp - 4]
call fcn.004051a8
mov eax, dword [ebp - 0x50]
add eax, 0xc
mov eax, dword [eax]
mov dword [ebp - 0x58], eax
mov ebx, dword [ebp - 0x58]
dec ebx
test ebx, ebx
jl 0x553f8d
inc ebx
mov dword [ebp - 0x54], 0
push dword [ebp - 4]
mov eax, edi
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x54]
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
movzx eax, byte [eax]
lea ecx, [ebp - 0x124]
mov edx, 2
call fcn.0040a0f4
push dword [ebp - 0x124]
push 0x5541e8
lea eax, [ebp - 4]
mov edx, 3
call fcn.0040553c
inc dword [ebp - 0x54]
dec ebx
jne 0x553f45
lea edx, [ebp - 0x128]
mov eax, dword [esi + 0x688]
call fcn.004528f8
cmp dword [ebp - 0x128], 0
je 0x554018
lea edx, [ebp - 0x12c]
mov eax, dword [esi + 0x688]
call fcn.004528f8
mov eax, dword [ebp - 0x12c]
mov edx, dword [ebp - 4]
call fcn.00405784
test eax, eax
jle 0x554060
push 0x5541f4
lea edx, [ebp - 0x134]
mov eax, dword [ebp - 0x58]
call fcn.00409fe0
push dword [ebp - 0x134]
push 0x554200
push dword [ebp - 4]
lea eax, [ebp - 0x130]
mov edx, 4
call fcn.0040553c
mov edx, dword [ebp - 0x130]
mov eax, dword [esi + 0x3e4]
mov eax, dword [eax + 0x270]
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x554060
push 0x5541f4
lea edx, [ebp - 0x13c]
mov eax, dword [ebp - 0x58]
call fcn.00409fe0
push dword [ebp - 0x13c]
push 0x554200
push dword [ebp - 4]
lea eax, [ebp - 0x138]
mov edx, 4
call fcn.0040553c
mov edx, dword [ebp - 0x138]
mov eax, dword [esi + 0x3e4]
mov eax, dword [eax + 0x270]
mov ecx, dword [eax]
call dword [ecx + 0x38]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5540ff
lea eax, [ebp - 0x13c]
mov edx, 4
call fcn.004051cc
lea eax, [ebp - 0x12c]
mov edx, 2
call fcn.004051cc
lea eax, [ebp - 0x124]
mov edx, 0x12
call fcn.004051cc
lea eax, [ebp - 0xd0]
mov edx, 2
call fcn.004051cc
lea eax, [ebp - 0xc8]
mov edx, 4
call fcn.004051cc
lea eax, [ebp - 0x4c]
mov edx, dword [0x50ad94]
call fcn.00405ee4
lea eax, [ebp - 0x34]
mov edx, dword [0x50acfc]
mov ecx, 2
call fcn.00405f30
lea eax, [ebp - 0x14]
mov edx, dword [0x50adb4]
call fcn.00405ee4
lea eax, [ebp - 4]
call fcn.004051a8
ret