Function at 0x413f88
Capabilities:
Check for unmoving mouse cursor
Log keystrokes via polling

Disassembly:
push 0x2dc
mov eax, 0x50d538
call fcn.004f41e2
mov esi, ecx
mov dword [ebp - 0x2c8], esi
mov eax, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
mov ecx, dword [0x5a23ec]
push 1
mov dword [ebp - 0x2a8], eax
mov dword [ebp - 0x2b0], ebx
call fcn.004673c5
test eax, eax
je 0x413fd3
push 0
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ebx
call fcn.004d4b55
add esp, 0x10
mov ecx, dword [esi + 0x3e60]
call fcn.00459ebe
test eax, eax
je 0x41401b
mov ecx, dword [esi + 0x3e70]
test ecx, ecx
je 0x413ff1
call fcn.004ec9ab
mov ecx, dword [0x5a23ec]
push 1
call fcn.004673c5
test eax, eax
je 0x414eeb
push 1
push 1
push 0x528c60
mov ecx, esi
call fcn.00410fbe
jmp 0x414eeb
mov eax, dword [ebp + 0x14]
and dword [ebp - 0x2cc], 0
movsx edi, ax
shr eax, 0x10
cwde
mov dword [ebp - 0x290], edi
mov dword [ebp - 0x2ac], eax
mov dword [ebp - 0x28c], eax
mov dword [ebp - 0x2c0], edi
mov dword [ebp - 0x2bc], eax
cmp ebx, 0x20a
je 0x41405e
cmp ebx, 0x20e
jne 0x41428c
and dword [ebp - 0x2b8], 0
lea eax, [ebp - 0x2b8]
and dword [ebp - 0x2b4], 0
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
push 0xc8
lea eax, [ebp - 0xd8]
push 0
push eax
call fcn.004f5a90
mov eax, dword [ebp + 0x10]
add esp, 0xc
test al, 8
je 0x4140ac
push 0x528c8c
push 0x64
lea eax, [ebp - 0xd8]
push eax
call fcn.004019cd
mov eax, dword [ebp + 0x10]
test al, 1
je 0x4140c6
push 0x528c98
push 0x64
lea eax, [ebp - 0xd8]
push eax
call fcn.004019cd
mov eax, dword [ebp + 0x10]
test al, 0x10
je 0x4140e0
push 0x528ca4
push 0x64
lea eax, [ebp - 0xd8]
push eax
call fcn.004019cd
mov eax, dword [ebp + 0x10]
test al, 2
je 0x4140fa
push 0x528cb0
push 0x64
lea eax, [ebp - 0xd8]
push eax
call fcn.004019cd
mov eax, dword [ebp + 0x10]
test al, 0x20
je 0x414114
push 0x528cbc
push 0x64
lea eax, [ebp - 0xd8]
push eax
call fcn.004019cd
mov eax, dword [ebp + 0x10]
test al, 0x40
je 0x41412e
push 0x528ccc
push 0x64
lea eax, [ebp - 0xd8]
push eax
call fcn.004019cd
mov eax, dword [ebp + 0x10]
push dword [ebp - 0x2b4]
shr eax, 0x10
lea ecx, [ebp - 0xd8]
push dword [ebp - 0x2b8]
cwde
cmp ebx, 0x20a
push dword [ebp - 0x2ac]
push edi
push ecx
push eax
mov ecx, 0x528ce8
mov eax, 0x528cdc
cmovne eax, ecx
push eax
lea eax, [ebp - 0x268]
push 0x528cf8
push eax
call fcn.00409bc5
xor edi, edi
add esp, 0x24
cmp dword [esi + 0x3e74], edi
je 0x414190
push edi
push 1
lea eax, [ebp - 0x268]
mov ecx, esi
push eax
call fcn.00410feb
call fcn.004e3a40
test al, al
je 0x4141bd
mov ecx, dword [ebp - 0x2b8]
mov eax, dword [ebp - 0x2b4]
mov dword [ebp - 0x2c0], ecx
mov dword [ebp - 0x2bc], eax
mov dword [ebp - 0x290], ecx
mov dword [ebp - 0x28c], eax
lea ecx, [ebp - 0x278]
call fcn.004d840a
lea eax, [ebp - 0x278]
mov dword [ebp - 4], edi
push eax
push dword [ebp - 0x2bc]
push dword [ebp - 0x2c0]
call fcn.004d485c
add esp, 0xc
test al, al
je 0x41424c
mov ecx, dword [ebp - 0x274]
call fcn.004de78b
mov ecx, eax
mov dword [ebp - 0x2ac], eax
call fcn.00488c5d
mov edi, eax
test edi, edi
je 0x41427d
mov ecx, dword [ebp - 0x2ac]
call fcn.0049755a
test al, al
je 0x41427d
push 0
push 1
push 0x528d4c
mov ecx, esi
call fcn.00410feb
push dword [ebp + 0x14]
mov ecx, dword [ebp - 0x274]
push dword [ebp + 0x10]
push ebx
push edi
call fcn.004de78b
mov ecx, eax
call fcn.0048d60f
lea ecx, [ebp - 0x278]
jmp 0x414ee6
push dword [ebp - 0x2bc]
lea eax, [ebp - 0x268]
push dword [ebp - 0x2c0]
push 0x528d84
push eax
call fcn.00409bc5
add esp, 0x10
lea eax, [ebp - 0x268]
mov ecx, esi
push edi
push 1
push eax
call fcn.00410feb
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x278]
call fcn.004d84a5
lea eax, [ebp - 0x299]
mov byte [ebp - 0x299], 0
push eax
push dword [ebp + 0x10]
lea eax, [ebp - 0x2c0]
mov ecx, esi
push eax
lea eax, [ebp - 0x290]
push eax
push ebx
call fcn.00417cbd
mov byte [ebp - 0x291], al
cmp ebx, 0x201
jne 0x414372
mov ecx, dword [0x5a23ec]
cmp byte [ecx + 0x10fac], 0
je 0x414372
lea edi, [esi + 0x180]
mov ecx, edi
call fcn.00432465
test al, al
jne 0x414372
mov ecx, edi
call fcn.0043225e
test al, al
jne 0x414372
mov eax, dword [0x5a23ec]
cmp byte [eax + 0x10f91], 0
jne 0x414372
xor eax, eax
lea ecx, [esi + 0x144]
push eax
push eax
push eax
push 1
push 0x100
call fcn.00425e36
test al, al
je 0x414372
mov eax, 0x4000
or word [esi + 0x3ebc], ax
lea eax, [esi + 0x3f0c]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
lea eax, [esi + 0x3f14]
push eax
push dword [0x5a22a4]
call dword [sym.imp.USER32.dll_GetWindowRect]
push dword [0x5a22a4]
call dword [sym.imp.USER32.dll_SetCapture]
push 0x7f86
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
jmp 0x414eeb
mov eax, 0x4000
test word [esi + 0x3ebc], ax
je 0x414484
cmp ebx, 0x202
je 0x41446d
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8000
test cx, ax
je 0x41446d
and dword [ebp - 0x2b8], 0
lea eax, [ebp - 0x2b8]
and dword [ebp - 0x2b4], 0
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov edx, dword [esi + 0x3f14]
mov ebx, edx
sub ebx, dword [esi + 0x3f0c]
mov eax, dword [esi + 0x3f1c]
add ebx, dword [ebp - 0x2b8]
sub eax, edx
mov ecx, dword [esi + 0x3f18]
add eax, ebx
mov dword [ebp - 0x270], eax
mov edi, ecx
sub edi, dword [esi + 0x3f10]
mov eax, dword [esi + 0x3f20]
add edi, dword [ebp - 0x2b4]
sub eax, ecx
add eax, edi
mov dword [ebp - 0x278], ebx
mov dword [ebp - 0x26c], eax
lea ecx, [esi + 0x180]
push 1
lea eax, [ebp - 0x278]
mov dword [ebp - 0x274], edi
push eax
call fcn.0042de94
cmp dword [ebp - 0x278], ebx
je 0x41443d
sub ebx, dword [ebp - 0x278]
add dword [esi + 0x3f0c], ebx
cmp dword [ebp - 0x274], edi
je 0x414451
sub edi, dword [ebp - 0x274]
add dword [esi + 0x3f10], edi
push 1
lea eax, [ebp - 0x278]
push eax
push dword [0x5a22a4]
call fcn.00421e81
add esp, 0xc
jmp 0x414eeb
mov eax, 0xbfff
and word [esi + 0x3ebc], ax
call dword [sym.imp.USER32.dll_ReleaseCapture]
jmp 0x414eeb
mov ecx, dword [esi + 0x3e6c]
lea eax, [ebp - 0x2cc]
push eax
push dword [ebp - 0x28c]
push dword [ebp - 0x290]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ebx
push dword [ebp - 0x2a8]
call fcn.004bd71a
test al, al
je 0x4144ce
push 0
push 1
push 0x528dc8
mov ecx, esi
call fcn.00410feb
mov eax, dword [ebp - 0x2cc]
jmp 0x414eed
cmp byte [ebp - 0x291], 0
jne 0x4144ec
push 0
push 1
push 0x528e1c
mov ecx, esi
call fcn.00410feb
jmp 0x414eeb
cmp dword [esi + 0x3e68], 0
je 0x41451d
cmp ebx, 0x201
je 0x414505
cmp ebx, 0x204
jne 0x41451d
push dword [0x5a22a4]
call fcn.004ea440
pop ecx
push dword [0x5a22a4]
call dword [sym.imp.USER32.dll_SetFocus]
and dword [ebp - 0x2a0], 0
lea edi, [ebp - 0x288]
xor eax, eax
lea ecx, [ebp - 0x2e0]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call fcn.004d840a
lea eax, [ebp - 0x2e0]
mov dword [ebp - 4], 1
push eax
push dword [ebp - 0x2bc]
push dword [ebp - 0x2c0]
call fcn.004d485c
add esp, 0xc
test al, al
je 0x414582
mov eax, dword [ebp - 0x2dc]
mov dword [ebp - 0x2a0], eax
test eax, eax
je 0x414582
mov ecx, eax
call fcn.004de78b
mov edi, eax
mov dword [ebp - 0x298], eax
jmp 0x41458a
xor edi, edi
mov dword [ebp - 0x298], edi
mov eax, dword [ebp - 0x2a0]
test eax, eax
je 0x41459e
lea ecx, [eax + 0xc]
call fcn.004cfc3f
jmp 0x4145a0
xor eax, eax
mov dword [ebp - 0x2ac], eax
test eax, eax
je 0x4145cf
lea ecx, [ebp - 0x288]
push ecx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
push 2
lea eax, [ebp - 0x288]
push eax
push dword [0x5a22a4]
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
push 7
push dword [ebp - 0x28c]
push dword [ebp - 0x290]
push dword [0x5a22a4]
call dword [sym.imp.USER32.dll_ChildWindowFromPointEx]
mov dword [ebp - 0x2b4], eax
cmp ebx, 0x20a
je 0x414603
cmp ebx, 0x20e
jne 0x41469c
mov ecx, dword [ebp + 0x10]
shr ecx, 0x10
mov eax, ecx
mov edx, ecx
test ax, ax
je 0x41469c
cmp ebx, 0x20a
jne 0x41462d
xor eax, eax
test dx, dx
setle al
add eax, 0xd0
jmp 0x414646
cmp ebx, 0x20e
jne 0x4147d7
xor eax, eax
test cx, cx
setg al
add eax, 0xd2
push edi
push 0
push 0
push eax
push 0x100
lea ecx, [esi + 0x144]
call fcn.00425e36
test al, al
je 0x4147d7
cmp ebx, 0x20a
mov ecx, 0x528ce8
mov eax, 0x528cdc
cmovne eax, ecx
push eax
lea eax, [ebp - 0x268]
push 0x528e4c
push eax
call fcn.00409bc5
add esp, 0xc
lea eax, [ebp - 0x268]
push 0
push 1
push eax
jmp 0x414ed9
lea eax, [ebx - 0x201]
cmp eax, 8
ja 0x4147d7
cmp ebx, 0x203
ja 0x4146b8
xor edi, edi
inc edi
jmp 0x4146c9
push 2
pop ecx
lea eax, [ebx - 0x204]
cmp ecx, eax
sbb edi, edi
and edi, ecx
add edi, ecx
lea eax, [esi + 0x144]
mov ecx, eax
mov dword [ebp - 0x2d0], eax
call fcn.00426412
mov ecx, dword [ebp - 0x298]
test ecx, ecx
je 0x414717
mov eax, dword [ebp - 0x28c]
sub eax, dword [ebp - 0x284]
push eax
mov eax, dword [ebp - 0x290]
sub eax, dword [ebp - 0x288]
push eax
push dword [ebp + 0x10]
push ebx
call fcn.0048bdfb
test al, al
jne 0x414ee0
mov ecx, dword [ebp - 0x298]
cmp ebx, 0x201
je 0x414736
cmp ebx, 0x204
je 0x414736
mov byte [ebp - 0x2a4], 0
cmp ebx, 0x207
jne 0x41473d
mov byte [ebp - 0x2a4], 1
cmp ebx, 0x202
je 0x41475c
cmp ebx, 0x205
je 0x41475c
mov byte [ebp - 0x291], 0
cmp ebx, 0x208
jne 0x414763
mov byte [ebp - 0x291], 1
push ecx
push dword [ebp - 0x2a4]
lea eax, [ebp - 0x2e8]
push edi
push eax
lea ecx, [esi + 0x144]
call fcn.00425530
mov ecx, dword [0x5a2294]
push eax
call fcn.0044c6c1
test eax, eax
je 0x4147d7
cmp eax, dword [0x581450]
je 0x414ee0
mov al, byte [ebp - 0x2a4]
test al, al
jne 0x4147af
cmp byte [ebp - 0x291], al
je 0x414ee0
mov ecx, dword [ebp - 0x298]
push ecx
mov ecx, dword [ebp - 0x2d0]
push 0
movzx eax, al
push 0
xor eax, 1
push edi
add eax, 0x100
push eax
call fcn.00425e36
jmp 0x414ee0
cmp dword [esi + 0x54a0], 0
jne 0x414887
mov eax, dword [ebp - 0x2ac]
test eax, eax
je 0x414852
cmp dword [ebp - 0x2b4], eax
jne 0x414852
cmp ebx, 0x201
je 0x41483c
cmp ebx, 0x204
je 0x41483c
cmp ebx, 0x207
je 0x41483c
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
mov edi, 0x8000
test di, ax
jne 0x41483c
push 2
pop eax
push eax
call dword [sym.imp.USER32.dll_GetKeyState]
test di, ax
jne 0x41483c
push 4
call dword [sym.imp.USER32.dll_GetKeyState]
test di, ax
je 0x414852
mov dword [esi + 0x54a0], 1
push dword [0x5a22a4]
call dword [sym.imp.USER32.dll_SetCapture]
mov edi, dword [ebp - 0x298]
cmp dword [ebp - 0x2a0], 0
jne 0x414928
cmp ebx, 0x20a
je 0x414879
cmp ebx, 0x20e
jne 0x414ee0
push 0
push 1
push 0x528e7c
jmp 0x414ed9
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
mov edi, 0x8000
test di, ax
jne 0x414852
push 2
pop eax
push eax
call dword [sym.imp.USER32.dll_GetKeyState]
test di, ax
jne 0x414852
push 4
call dword [sym.imp.USER32.dll_GetKeyState]
test di, ax
jne 0x414852
call dword [sym.imp.USER32.dll_ReleaseCapture]
and dword [esi + 0x54a0], 0
mov edi, dword [ebp - 0x298]
test edi, edi
je 0x414858
mov ecx, edi
call fcn.00497684
test al, al
je 0x414858
mov eax, dword [ebp - 0x288]
cmp dword [ebp - 0x290], eax
jl 0x4148f4
mov eax, dword [ebp - 0x280]
cmp dword [ebp - 0x290], eax
jl 0x4148fa
dec eax
mov dword [ebp - 0x290], eax
mov eax, dword [ebp - 0x284]
cmp dword [ebp - 0x28c], eax
jge 0x414913
mov dword [ebp - 0x28c], eax
jmp 0x414858
mov eax, dword [ebp - 0x27c]
cmp dword [ebp - 0x28c], eax
jl 0x414858
dec eax
jmp 0x414908
mov ecx, dword [0x5a2298]
call fcn.00443216
test eax, eax
je 0x414ec0
mov ecx, dword [0x5a2298]
call fcn.0044308a
test eax, eax
je 0x414ec0
mov ecx, 0x200
lea edx, [ecx + 2]
cmp ebx, edx
je 0x41495e
cmp ebx, ecx
jne 0x414982
movzx eax, word [esi + 0x3ebc]
test ecx, eax
je 0x414982
cmp ebx, edx
jne 0x414ee0
and eax, 0xfdff
mov word [esi + 0x3ebc], ax
jmp 0x414ee0
mov ecx, esi
call fcn.0041c445
test eax, eax
je 0x4149e7
cmp ebx, 0x20a
je 0x41499d
cmp ebx, 0x20e
jne 0x4149ad
push 0
push 1
push 0x528ee0
mov ecx, esi
call fcn.00410feb
test edi, edi
je 0x414ee0
cmp ebx, 0x20a
je 0x4149c9
cmp ebx, 0x20e
jne 0x414ee0
push 0
push dword [ebp - 0x28c]
mov ecx, edi
push dword [ebp - 0x290]
push dword [ebp + 0x10]
push ebx
call fcn.0048be47
jmp 0x414ee0
test edi, edi
je 0x414a66
mov eax, dword [ebp - 0x28c]
mov ecx, edi
sub eax, dword [ebp - 0x284]
push eax
mov eax, dword [ebp - 0x290]
sub eax, dword [ebp - 0x288]
push eax
push dword [ebp + 0x10]
push ebx
call fcn.0048bdfb
test al, al
je 0x414a36
cmp ebx, 0x20a
je 0x414a28
cmp ebx, 0x20e
jne 0x414ee0
push 0
push 1
push 0x528ee0
jmp 0x414ed9
cmp ebx, 0x20a
je 0x414a46
cmp ebx, 0x20e
jne 0x414a66
mov ecx, edi
call fcn.00497622
test al, al
je 0x414a66
push 0
push 1
push 0x528f1c
mov ecx, esi
call fcn.00410feb
jmp 0x4149c9
mov ecx, 0x200
cmp ebx, ecx
je 0x414aa3
cmp ebx, 0x20a
je 0x414aa3
cmp ebx, 0x20e
je 0x414aa3
movzx eax, word [esi + 0x3ebc]
test ecx, eax
je 0x414a96
and eax, 0xfdff
mov word [esi + 0x3ebc], ax
cmp dword [ebp - 0x2ac], 0
je 0x414ee0
mov eax, dword [ebp - 0x28c]
xor edi, edi
sub eax, dword [ebp - 0x284]
mov ecx, dword [ebp - 0x290]
sub ecx, dword [ebp - 0x288]
push edi
push eax
mov dword [ebp - 0x28c], eax
lea eax, [ebp - 0x2c4]
push ecx
mov dword [ebp - 0x290], ecx
mov ecx, dword [ebp - 0x2a0]
push eax
call fcn.004db47d
cmp ebx, 0x20a
je 0x414b08
cmp ebx, 0x20e
je 0x414b08
cmp word [ebp - 0x2c4], di
jl 0x414ee0
cmp word [ebp - 0x2c2], di
jl 0x414ee0
mov edx, dword [0x5a23ec]
cmp byte [edx + 0x10fab], 0
je 0x414b51
xor eax, eax
mov ecx, esi
push eax
push eax
push eax
call fcn.0041ef08
test al, al
jne 0x414b49
cmp ebx, 0x20a
je 0x414b3b
cmp ebx, 0x20e
jne 0x414ee0
push 0
push 1
push 0x528f5c
jmp 0x414ed9
mov edx, dword [0x5a23ec]
xor edi, edi
mov ecx, dword [esi + 0x3ef8]
test ecx, ecx
je 0x414b5f
cmp ecx, ebx
je 0x414b79
mov eax, dword [esi + 0x3efc]
test eax, eax
je 0x414b98
cmp eax, ebx
je 0x414b75
cmp ebx, 0x200
jne 0x414b98
cmp ecx, ebx
jne 0x414b81
mov dword [esi + 0x3ef8], edi
jmp 0x414b8b
cmp eax, ebx
jne 0x414b8b
mov dword [esi + 0x3efc], edi
push edi
push 1
push 0x528f90
jmp 0x414ed9
mov eax, dword [esi + 0x3f00]
test eax, eax
je 0x414c0c
cmp byte [edx + 0x10faa], 0
je 0x414c06
mov ecx, 0x201
cmp ebx, ecx
jne 0x414bbb
cmp eax, 0x203
jmp 0x414bc8
cmp ebx, 0x204
jne 0x414bcc
cmp eax, 0x206
jne 0x414bdb
jmp 0x414c06
cmp ebx, 0x207
jne 0x414bdb
cmp eax, 0x209
je 0x414c06
cmp eax, ebx
jne 0x414c0c
sub eax, 0x203
je 0x414bfe
sub eax, 3
je 0x414bf7
sub eax, 3
jne 0x414c06
mov ebx, 0x207
jmp 0x414c00
mov ebx, 0x204
jmp 0x414c00
mov ebx, ecx
mov dword [ebp - 0x2b0], ebx
mov dword [esi + 0x3f00], edi
mov ecx, dword [esi + 0x45c8]
test ecx, ecx
je 0x414c5c
add ecx, 8
call fcn.0043e47c
test eax, eax
je 0x414c5c
push dword [ebp + 0x14]
mov ecx, dword [esi + 0x45c8]
push dword [ebp + 0x10]
add ecx, 8
push ebx
call fcn.0043e419
test eax, eax
je 0x414c5c
cmp ebx, 0x20a
je 0x414c4f
cmp ebx, 0x20e
jne 0x414ee0
push edi
push 1
push 0x528fe0
jmp 0x414ed9
push edi
call fcn.004d78c1
pop ecx
test al, al
je 0x414cef
cmp ebx, 0x20a
je 0x414c8f
cmp ebx, 0x20e
je 0x414c8f
mov ecx, dword [ebp - 0x28c]
mov edx, dword [ebp - 0x290]
movzx edi, cx
movzx eax, dx
jmp 0x414ca9
movzx edi, word [ebp - 0x2bc]
movzx eax, word [ebp - 0x2c0]
mov ecx, dword [ebp - 0x28c]
mov edx, dword [ebp - 0x290]
shl edi, 0x10
or edi, eax
mov dword [esi + 0x3eec], ebx
mov eax, 0x200
mov dword [ebp - 0x2a4], edi
cmp ebx, eax
jne 0x414d48
push dword [ebp - 0x2c4]
push ecx
push edx
push edi
push dword [ebp + 0x10]
mov ecx, esi
push eax
push dword [ebp - 0x2a8]
push dword [ebp - 0x2a0]
call fcn.004152f9
test eax, eax
je 0x414ee0
mov edi, dword [ebp - 0x2c8]
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp - 0x28c]
mov esi, dword [ebp - 0x290]
movzx ecx, dx
mov dword [edi + 0x3ef0], eax
shl ecx, 0x10
movzx eax, si
or ecx, eax
cmp byte [ebp - 0x299], 0
mov dword [edi + 0x3ef4], ecx
jne 0x414ee0
mov ecx, dword [ebp - 0x298]
test ecx, ecx
je 0x414ee0
push 0
push edx
push esi
push dword [ebp + 0x10]
push ebx
call fcn.0048baf1
jmp 0x414ee0
or dword [esi + 0x3ef0], 0xffffffff
or dword [esi + 0x3ef4], 0xffffffff
cmp ebx, 0x203
jne 0x414d8c
push dword [ebp - 0x2c4]
lea eax, [ebp - 0x2b0]
push ecx
push edx
push edi
push dword [ebp + 0x10]
mov ecx, esi
push eax
push dword [ebp - 0x2a8]
push dword [ebp - 0x2a0]
call fcn.00414ef5
test eax, eax
je 0x414ee0
mov esi, dword [ebp - 0x2c4]
cmp ebx, 0x206
jne 0x414ddb
push esi
push dword [ebp - 0x28c]
lea eax, [ebp - 0x2b0]
push dword [ebp - 0x290]
push edi
push dword [ebp + 0x10]
mov edi, dword [ebp - 0x2c8]
mov ecx, edi
push eax
push dword [ebp - 0x2a8]
push dword [ebp - 0x2a0]
call fcn.00415772
test eax, eax
je 0x414ee0
mov ebx, dword [ebp - 0x2b0]
jmp 0x414de1
mov edi, dword [ebp - 0x2c8]
mov eax, 0x201
cmp ebx, eax
jne 0x414e16
push esi
push dword [ebp - 0x28c]
mov ecx, edi
push dword [ebp - 0x290]
push dword [ebp - 0x2a4]
push dword [ebp + 0x10]
push eax
push dword [ebp - 0x2a8]
push dword [ebp - 0x2a0]
call fcn.00415029
jmp 0x414e7e
mov eax, 0x202
cmp ebx, eax
jne 0x414e4b
push esi
push dword [ebp - 0x28c]
mov ecx, edi
push dword [ebp - 0x290]
push dword [ebp - 0x2a4]
push dword [ebp + 0x10]
push eax
push dword [ebp - 0x2a8]
push dword [ebp - 0x2a0]
call fcn.00415261
jmp 0x414e7e
mov eax, 0x204
cmp ebx, eax
jne 0x414e87
push esi
push dword [ebp - 0x28c]
mov ecx, edi
push dword [ebp - 0x290]
push dword [ebp - 0x2a4]
push dword [ebp + 0x10]
push eax
push dword [ebp - 0x2a8]
push dword [ebp - 0x2a0]
call fcn.00415799
test eax, eax
je 0x414ee0
jmp 0x414cf5
mov eax, 0x205
cmp ebx, eax
jne 0x414cf5
push esi
push dword [ebp - 0x28c]
mov ecx, edi
push dword [ebp - 0x290]
push dword [ebp - 0x2a4]
push dword [ebp + 0x10]
push eax
push dword [ebp - 0x2a8]
push dword [ebp - 0x2a0]
call fcn.004159d7
jmp 0x414e7e
cmp ebx, 0x20a
je 0x414ed0
cmp ebx, 0x20e
jne 0x414ee0
push 0
push 1
push 0x528ea8
mov ecx, esi
call fcn.00410feb
lea ecx, [ebp - 0x2e0]
call fcn.004d84a5
xor eax, eax
call fcn.004f418c
ret 0x10