Function at 0x439910
Capabilities:
Log keystrokes via input method manager

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x88
mov eax, dword [0x52382c]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0xc]
lea eax, [esi - 8]
mov dword [0x6a20c8], esi
cmp eax, 0xdd
ja case.default.0x439946
movzx eax, byte [eax + 0x43b440]
push edi
jmp dword [eax*4 + 0x43b36c]
push ecx
call sub.IMM32.dll_ImmGetVirtualKey
cmp eax, 0x11
jne 0x439985
mov ecx, dword [0x526718]
mov ecx, dword [ecx*4 + 0x5e9f3c]
push esi
call fcn.0048a300
pop edi
mov dword [0x5ea8f8], 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
cmp eax, 0xe5
jne case.0x439946.60
pop edi
mov dword [0x5ea8f8], 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
mov edx, dword [0x526718]
mov ecx, dword [edx*4 + 0x5e9f3c]
push esi
call fcn.0048a300
pop edi
mov dword [0x6a4378], 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
mov eax, dword [0x526718]
mov ecx, dword [eax*4 + 0x5e9f3c]
push esi
call fcn.0048a300
pop edi
mov dword [0x5ea8f8], 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
cmp dword [0x526908], 0x50
jne case.0x439946.60
cmp dword [0x5ea8f8], 0
je case.0x439946.60
fld dword [0x6a554c]
fld dword [0x631f74]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x439a9d
fstp st(0)
pop edi
fadd qword [0x4e4528]
pop esi
fstp dword [0x6a554c]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
cmp dword [0x526908], 0x50
jne case.0x439946.60
cmp dword [0x5ea8f8], 0
je case.0x439946.60
fld dword [0x6a554c]
fld dword [0x5ea900]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x439a9d
fstp st(0)
pop edi
fsub qword [0x4e4528]
pop esi
fstp dword [0x6a554c]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
fstp st(1)
pop edi
fstp dword [0x6a554c]
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
cmp dword [0x526908], 0x3d
jne case.0x439946.36
mov eax, dword [0x1a3927c]
lea eax, [eax + eax*4]
cmp byte [eax*8 + 0x641971], 0
jbe case.0x439946.60
mov ecx, dword [0x5ec1cc]
add ecx, dword [0x1a3ba10]
push ecx
push 0x1a38da8
call fcn.004cce8a
add esp, 8
pop edi
mov dword [0x526908], 0x42
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
cmp dword [0x526908], 0x50
jne case.0x439946.60
cmp byte [0x6a63dd], 0
jne case.0x439946.60
mov byte [0x6a63dd], 1
call fcn.0044a790
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
cmp dword [0x526908], 0x50
jne case.0x439946.60
cmp byte [0x6a6420], 0
jne case.0x439946.60
cmp dword [0x6a4378], 0
mov byte [0x6a6420], 1
push 0
je 0x439ce4
call fcn.00419e90
add esp, 4
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
cmp dword [0x526908], 0x50
jne case.0x439946.60
cmp byte [0x6a6421], 0
jne case.0x439946.60
mov byte [0x6a6421], 1
push 1
jmp 0x439d26
cmp dword [0x526908], 0x50
jne case.0x439946.60
cmp byte [0x6a6422], 0
jne case.0x439946.60
cmp dword [0x6a4378], 0
mov byte [0x6a6422], 1
push 2
je 0x439c9a
call fcn.00419e90
add esp, 4
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
cmp dword [0x526908], 0x50
jne case.0x439946.60
cmp byte [0x6a6423], 0
jne case.0x439946.60
cmp dword [0x6a4378], 0
mov byte [0x6a6423], 1
push 3
je 0x439ce4
call fcn.00419e90
add esp, 4
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
cmp dword [0x526908], 0x50
jne case.0x439946.60
cmp byte [0x6a6424], 0
jne case.0x439946.60
mov byte [0x6a6424], 1
push 4
jmp 0x439d26
cmp dword [0x526908], 0x50
jne case.0x439946.60
cmp byte [0x6a6425], 0
jne case.0x439946.60
cmp dword [0x6a4378], 0
mov byte [0x6a6425], 1
push 5
jne 0x439d2f
mov eax, dword [0x644244]
push eax
call fcn.00419b40
add esp, 8
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
cmp dword [0x526908], 0x50
jne case.0x439946.60
cmp byte [0x6a6426], 0
jne case.0x439946.60
cmp dword [0x6a4378], 0
mov byte [0x6a6426], 1
push 6
jne 0x439d2f
mov ecx, dword [0x644244]
push ecx
call fcn.00419b40
add esp, 8
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
cmp dword [0x526908], 0x50
jne case.0x439946.60
cmp byte [0x6a6427], 0
jne case.0x439946.60
mov byte [0x6a6427], 1
push 7
cmp dword [0x6a4378], 0
je 0x439d47
call fcn.00419e90
add esp, 4
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
mov edx, dword [0x644244]
push edx
call fcn.00419b40
add esp, 8
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
xor eax, eax
cmp dword [0x644244], 1
pop edi
setne al
pop esi
mov dword [0x644244], eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
cmp dword [0x644244], 0
jne 0x439daa
pop edi
mov dword [0x644244], 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
dec dword [0x644244]
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
cmp byte [0x6a642a], 0
jne case.0x439946.60
mov byte [0x6a642a], 1
call fcn.0046c940
call fcn.0046dfc0
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
cmp dword [0x526908], 0x50
jne case.0x439946.60
mov eax, dword [0x6a5538]
inc eax
mov dword [0x6a5538], eax
cmp eax, 3
jle 0x439e15
mov dword [0x6a5538], 1
mov ecx, dword [0x526718]
mov ecx, dword [ecx*4 + 0x5e9f3c]
call fcn.00489db0
mov eax, dword [0x6a5538]
or esi, 0xffffffff
mov dword [0x6a5de0], esi
mov dword [0x1a3ba14], esi
cmp eax, 2
jne 0x439e60
mov ecx, dword [0x5e9f4c]
push 0x4e5dc4
call fcn.0048a180
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
cmp eax, 3
jne case.0x439946.60
mov ecx, dword [0x5e9f4c]
push 0x4e5938
call fcn.0048a180
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
mov eax, dword [0x526908]
cmp eax, 0x50
jne 0x439fbb
cmp dword [0x526718], 4
jne 0x43a09a
or esi, 0xffffffff
cmp dword [0x5ea8f8], 1
jne 0x439f23
mov eax, dword [0x6a5de0]
cmp eax, esi
jne 0x439ebd
xor eax, eax
jmp 0x439ec7
cmp eax, 9
jne 0x439ec6
xor eax, eax
jmp 0x439ec7
inc eax
mov dword [0x6a5de0], eax
shl eax, 8
add eax, 0x6a2290
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x439ed7
sub eax, edx
mov ecx, dword [0x5e9f4c]
je 0x439f13
call fcn.00489db0
mov edx, dword [0x6a5de0]
mov eax, dword [0x526718]
mov ecx, dword [eax*4 + 0x5e9f3c]
shl edx, 8
add edx, 0x6a2290
push edx
call fcn.0048a180
jmp 0x43a09a
call fcn.00489db0
mov dword [0x6a5de0], esi
jmp 0x43a09a
mov ecx, dword [0x1a3ba14]
cmp ecx, esi
jne 0x439f31
xor ecx, ecx
jmp 0x439f3b
cmp ecx, 0x13
jne 0x439f3a
xor ecx, ecx
jmp 0x439f3b
inc ecx
mov eax, ecx
shl eax, 4
sub eax, ecx
add eax, 0x53b6a0
mov dword [0x1a3ba14], ecx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x439f50
sub eax, edx
mov ecx, dword [0x5e9f4c]
je 0x439fab
call fcn.00489db0
mov eax, dword [0x1a3ba14]
mov ecx, eax
shl ecx, 4
sub ecx, eax
add ecx, 0x53b6a0
push ecx
lea edx, [ebp - 0x84]
push str.__s
push edx
call fcn.004cce8a
mov ecx, dword [0x526718]
mov ecx, dword [ecx*4 + 0x5e9f3c]
add esp, 0xc
lea eax, [ebp - 0x84]
push eax
call fcn.0048a180
jmp 0x43a09a
call fcn.00489db0
mov dword [0x1a3ba14], esi
jmp 0x43a09a
cmp eax, 0x15
jne 0x43a025
mov eax, dword [0x5ea9d8]
mov ecx, dword [0x1a3c820]
test eax, eax
jne 0x439fd4
lea eax, [ecx - 1]
jmp 0x439fd5
dec eax
mov dword [0x5ea9d8], eax
cmp ecx, 5
jle 0x43a085
mov ecx, dword [0x6a55c4]
cmp eax, ecx
jge 0x439ffa
fild dword [0x5ea9d8]
mov dword [0x6a55c4], eax
jmp 0x43a013
add ecx, 4
cmp eax, ecx
jle 0x43a085
add eax, 0xfffffffc
mov dword [0x6a55c4], eax
fild dword [0x6a55c4]
fdiv dword [0x6a55cc]
call fcn.004ccd60
mov dword [0x6a55bc], eax
jmp 0x43a085
cmp eax, 0x30
jne 0x43a09a
mov eax, dword [0x6424b8]
mov ecx, dword [0x6a5560]
test eax, eax
jne 0x43a03e
lea eax, [ecx - 1]
jmp 0x43a03f
dec eax
mov dword [0x6424b8], eax
cmp ecx, 5
jle 0x43a085
mov ecx, dword [0x6a5664]
cmp eax, ecx
jge 0x43a060
fild dword [0x6424b8]
mov dword [0x6a5664], eax
jmp 0x43a075
add ecx, 4
cmp eax, ecx
jle 0x43a085
add eax, 0xfffffffc
mov dword [0x6a5664], eax
fild dword [0x6a5664]
fdiv dword [0x6a566c]
call fcn.004ccd60
mov dword [0x6a565c], eax
mov ecx, dword [0x5e90d8]
test ecx, ecx
je 0x43a09a
push 0
push 1
push 0
call fcn.00488d70
cmp dword [0x5f0624], 0
je case.0x439946.60
sub dword [0x6424bc], 5
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
mov eax, dword [0x526908]
cmp eax, 0x50
jne 0x43a217
cmp dword [0x526718], 4
jne 0x43a1f3
or esi, 0xffffffff
cmp dword [0x5ea8f8], 1
jne 0x43a15c
mov eax, dword [0x6a5de0]
cmp eax, esi
jne 0x43a0f3
lea eax, [esi + 0xa]
jmp 0x43a0ff
test eax, eax
jne 0x43a0fe
mov eax, 9
jmp 0x43a0ff
dec eax
mov dword [0x6a5de0], eax
shl eax, 8
add eax, 0x6a2290
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43a110
sub eax, edx
mov ecx, dword [0x5e9f4c]
je 0x43a14c
call fcn.00489db0
mov edx, dword [0x6a5de0]
mov eax, dword [0x526718]
mov ecx, dword [eax*4 + 0x5e9f3c]
shl edx, 8
add edx, 0x6a2290
push edx
call fcn.0048a180
jmp 0x43a1f3
call fcn.00489db0
mov dword [0x6a5de0], esi
jmp 0x43a1f3
mov ecx, dword [0x1a3ba14]
cmp ecx, esi
jne 0x43a16d
mov ecx, 0x13
jmp 0x43a179
test ecx, ecx
jne 0x43a178
mov ecx, 0x13
jmp 0x43a179
dec ecx
mov eax, ecx
shl eax, 4
sub eax, ecx
add eax, 0x53b6a0
mov dword [0x1a3ba14], ecx
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43a190
sub eax, edx
mov ecx, dword [0x5e9f4c]
je 0x43a1e8
call fcn.00489db0
mov eax, dword [0x1a3ba14]
mov ecx, eax
shl ecx, 4
sub ecx, eax
add ecx, 0x53b6a0
push ecx
lea edx, [ebp - 0x84]
push str.__s
push edx
call fcn.004cce8a
mov ecx, dword [0x526718]
mov ecx, dword [ecx*4 + 0x5e9f3c]
add esp, 0xc
lea eax, [ebp - 0x84]
push eax
call fcn.0048a180
jmp 0x43a1f3
call fcn.00489db0
mov dword [0x1a3ba14], esi
cmp dword [0x5f0624], 0
je case.0x439946.60
add dword [0x6424bc], 5
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
cmp eax, 0x15
jne 0x43a2aa
mov ecx, dword [0x1a3c820]
mov eax, dword [0x5ea9d8]
lea edx, [ecx - 1]
cmp eax, edx
jne 0x43a236
xor eax, eax
jmp 0x43a237
inc eax
mov dword [0x5ea9d8], eax
cmp ecx, 5
jle 0x43a281
mov ecx, dword [0x6a55c4]
cmp eax, ecx
jge 0x43a258
fild dword [0x5ea9d8]
mov dword [0x6a55c4], eax
jmp 0x43a271
add ecx, 4
cmp dword [0x6424b8], ecx
jle 0x43a281
add eax, 0xfffffffc
mov dword [0x6a55c4], eax
fild dword [0x6a55c4]
fdiv dword [0x6a55cc]
call fcn.004ccd60
mov dword [0x6a55bc], eax
mov ecx, dword [0x5e90d8]
test ecx, ecx
je case.0x439946.60
push 0
push 1
push 0
call fcn.00488d70
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
cmp eax, 0x30
jne case.0x439946.60
mov ecx, dword [0x6a5560]
mov eax, dword [0x6424b8]
lea edx, [ecx - 1]
cmp eax, edx
jne 0x43a2c9
xor eax, eax
jmp 0x43a2ca
inc eax
mov dword [0x6424b8], eax
cmp ecx, 5
jle 0x43a310
mov ecx, dword [0x6a5664]
cmp eax, ecx
jge 0x43a2eb
fild dword [0x6424b8]
mov dword [0x6a5664], eax
jmp 0x43a300
add ecx, 4
cmp eax, ecx
jle 0x43a310
add eax, 0xfffffffc
mov dword [0x6a5664], eax
fild dword [0x6a5664]
fdiv dword [0x6a566c]
call fcn.004ccd60
mov dword [0x6a565c], eax
mov ecx, dword [0x5e90d8]
test ecx, ecx
je case.0x439946.60
push 0
push 1
push 0
call fcn.00488d70
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
cmp dword [0x526908], 0x3d
jne 0x43a35f
cmp dword [0x1a3927c], 0
jne 0x43a357
mov dword [0x1a3927c], 1
jmp 0x43a371
dec dword [0x1a3927c]
jmp 0x43a371
mov eax, dword [0x526718]
mov ecx, dword [eax*4 + 0x5e9f3c]
push esi
call fcn.0048a300
cmp dword [0x5f0624], 0
je case.0x439946.60
sub dword [0x5f337c], 0xa
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
cmp dword [0x526908], 0x3d
jne 0x43a3bf
mov eax, 1
cmp dword [0x1a3927c], eax
jne 0x43a3b7
mov dword [0x1a3927c], 0
jmp 0x43a3d2
add dword [0x1a3927c], eax
jmp 0x43a3d2
mov ecx, dword [0x526718]
mov ecx, dword [ecx*4 + 0x5e9f3c]
push esi
call fcn.0048a300
cmp dword [0x5f0624], 0
je case.0x439946.60
add dword [0x5f337c], 0xa
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
mov eax, dword [0x526908]
cmp eax, 0x2b
jne 0x43a421
xor edx, edx
cmp dword [0x526718], edx
pop edi
sete dl
pop esi
mov dword [0x526718], edx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
cmp eax, 0x50
jne case.0x439946.60
mov eax, dword [0x1a83a34]
test eax, eax
jne 0x43a44d
pop edi
mov dword [0x1a83a34], 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
dec eax
neg eax
sbb eax, eax
and eax, 0xfffffffe
add eax, 2
pop edi
mov dword [0x1a83a34], eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
cmp dword [0x526908], 0x50
jne case.0x439946.60
cmp byte [0x6a63cb], 0
jne case.0x439946.60
mov ecx, dword [0x568068]
xor edx, edx
xor eax, eax
test ecx, ecx
jle 0x43a4c2
cmp dword [eax*8 + 0x633668], 0
je 0x43a4a6
cmp eax, 5
jle 0x43a4a6
mov edx, eax
inc eax
cmp eax, ecx
jl 0x43a495
test edx, edx
je 0x43a4c2
push 0
mov byte [0x6a63cb], 1
call fcn.00470af0
add esp, 4
jmp 0x43a4f8
cmp byte [0x6a5c18], 0
push 0x35
jne 0x43a4d4
call fcn.00470df0
jmp 0x43a4d9
call fcn.00470960
mov ecx, dword [0x5e90d8]
add esp, 4
test ecx, ecx
je 0x43a4f1
push 0
push 1
push 0
call fcn.00488d70
mov byte [0x6a63ff], 1
mov esi, dword [0x56895c]
push ebx
mov ebx, 1
mov eax, 0x108c
lea esp, [esp]
cmp byte [eax + esi], 0
je 0x43a549
cmp byte [eax + esi + 0x10], 0
lea edi, [eax + esi + 0x10]
je 0x43a549
movzx ecx, word [0x5f375c]
cmp ebx, ecx
je 0x43a549
mov edx, dword [eax + esi + 0x74]
test edx, edx
je 0x43a540
imul ecx, ecx, 0x108c
cmp edx, dword [ecx + esi + 0x74]
je 0x43a549
mov byte [edi], 0
mov esi, dword [0x56895c]
add eax, 0x108c
inc ebx
cmp eax, 0x1432e60
jl 0x43a510
mov eax, dword [0x526800]
mov ecx, dword [0x5256e8]
shl eax, 0x10
add eax, dword [0x526728]
push eax
push 0
push 0x200
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
pop ebx
jmp 0x43a58f
mov edx, dword [0x526718]
mov ecx, dword [edx*4 + 0x5e9f3c]
push esi
call fcn.0048a300
mov eax, 1
cmp dword [0x5f0624], eax
jle case.0x439946.60
pop edi
mov dword [0x5f0624], eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
mov eax, dword [0x526908]
cmp eax, 1
jne 0x43a5fb
mov ecx, dword [0x5e90d8]
mov dword [0x1a3b3f8], 0
mov dword [0x526908], 2
test ecx, ecx
je case.0x439946.60
push 0
push eax
push 0
call fcn.00488d70
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
cmp eax, 0x15
jne 0x43a650
mov eax, dword [0x6a55d0]
mov ecx, dword [0x6a55d4]
mov esi, dword [0x526728]
mov edi, dword [0x526800]
add eax, 0xcb
add ecx, 0x22
push 0
mov dword [0x526728], eax
mov dword [0x526800], ecx
call fcn.0047a750
add esp, 4
mov dword [0x526800], edi
pop edi
mov dword [0x526728], esi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
cmp eax, 0x2b
jne 0x43a6a6
mov edx, dword [0x6a55f0]
mov eax, dword [0x6a55f4]
mov esi, dword [0x526728]
mov edi, dword [0x526800]
add edx, 0x10f
add eax, 0x67
push 0
mov dword [0x526728], edx
mov dword [0x526800], eax
call fcn.0047ac80
add esp, 4
mov dword [0x526800], edi
pop edi
mov dword [0x526728], esi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
cmp eax, 0x2c
jne 0x43a6e8
mov ecx, dword [0x5e90d8]
mov dword [0x5256bc], 4
mov dword [0x526908], 0x2a
test ecx, ecx
je case.0x439946.60
push 0
push 1
push 0
call fcn.00488d70
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
cmp eax, 0x30
jne 0x43a740
mov ecx, dword [0x6a5670]
mov edx, dword [0x6a5674]
mov esi, dword [0x526728]
mov edi, dword [0x526800]
add ecx, 0xe0
add edx, 0x3c
push 0
mov dword [0x526728], ecx
mov dword [0x526800], edx
call fcn.004715d0
add esp, 4
mov dword [0x526800], edi
pop edi
mov dword [0x526728], esi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
cmp eax, 0x3d
jne 0x43a7f5
mov eax, dword [0x1a3927c]
lea eax, [eax + eax*4]
add eax, eax
add eax, eax
add eax, eax
cmp byte [eax + 0x641970], 0
jne 0x43a785
mov ecx, dword [0x5e90d8]
mov dword [0x526908], 0x3f
test ecx, ecx
je case.0x439946.60
push 0
push 1
push 0
call fcn.00488d70
jmp 0x43a7cc
cmp byte [eax + 0x641974], 0x63
jae 0x43a79a
mov dword [0x526908], 0x3f
jmp 0x43a7cc
mov ecx, dword [0x5ec5fc]
add ecx, dword [0x1a3ba10]
push ecx
push 0x1a38da8
call fcn.004cce8a
push 1
call fcn.00470af0
push 0xd
call fcn.00470df0
add esp, 0x10
mov dword [0x526908], 0x41
mov ecx, dword [0x5e90d8]
test ecx, ecx
je case.0x439946.60
push 0
push 1
push 0
call fcn.00488d70
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
cmp eax, 0x3e
jne 0x43a84d
mov edx, dword [0x6a56f0]
mov eax, dword [0x6a56f4]
mov esi, dword [0x526728]
mov edi, dword [0x526800]
add edx, 0x97
add eax, 0xe6
push 0
mov dword [0x526728], edx
mov dword [0x526800], eax
call fcn.00471e80
add esp, 4
mov dword [0x526800], edi
pop edi
mov dword [0x526728], esi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
cmp eax, 0x41
jne 0x43a8a5
mov ecx, dword [0x6a5730]
mov edx, dword [0x6a5734]
mov esi, dword [0x526728]
mov edi, dword [0x526800]
add ecx, 0xcb
add edx, 0x57
push 0
mov dword [0x526728], ecx
mov dword [0x526800], edx
call fcn.00472950
add esp, 4
mov dword [0x526800], edi
pop edi
mov dword [0x526728], esi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
cmp eax, 0x50
jne case.0x439946.60
mov eax, dword [0x526718]
cmp eax, 4
jne 0x43a95f
mov ecx, dword [0x5e9f4c]
push 0x525400
call fcn.00489e40
test eax, eax
jle 0x43a8de
push eax
push 0x525400
call fcn.0044b250
add esp, 8
mov eax, dword [0x526718]
mov ecx, dword [eax*4 + 0x5e9f3c]
call fcn.00489db0
mov eax, dword [0x6a5538]
or esi, 0xffffffff
mov dword [0x6a5de0], esi
mov dword [0x1a3ba14], esi
cmp eax, 2
jne 0x43a92f
mov ecx, dword [0x526718]
mov ecx, dword [ecx*4 + 0x5e9f3c]
push 0x4e5dc4
call fcn.0048a180
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
cmp eax, 3
jne case.0x439946.60
mov edx, dword [0x526718]
mov ecx, dword [edx*4 + 0x5e9f3c]
push 0x4e5938
call fcn.0048a180
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
cmp eax, 3
je case.0x439946.60
cmp eax, 5
jne case.0x439946.60
call fcn.00449f00
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
mov eax, 1
cmp dword [0x5ea8f8], eax
jne case.0x439946.60
cmp dword [0x526908], 0x50
jne case.0x439946.60
cmp byte [0x6a63e1], 0
jne case.0x439946.60
mov byte [0x6a63e1], al
cmp dword [0x6a4378], eax
jne 0x43a9d8
push 0xb
call fcn.004496b0
add esp, 4
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
push eax
call fcn.004496b0
add esp, 4
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
mov eax, 1
cmp dword [0x5ea8f8], eax
jne case.0x439946.60
cmp dword [0x526908], 0x50
jne case.0x439946.60
cmp byte [0x6a63e2], 0
jne case.0x439946.60
mov byte [0x6a63e2], al
cmp dword [0x6a4378], eax
jne 0x43aa43
push 0xc
call fcn.004496b0
add esp, 4
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
push 2
call fcn.004496b0
add esp, 4
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
mov eax, 1
cmp dword [0x5ea8f8], eax
jne case.0x439946.60
cmp dword [0x526908], 0x50
jne case.0x439946.60
cmp byte [0x6a63e3], 0
jne case.0x439946.60
mov byte [0x6a63e3], al
cmp dword [0x6a4378], eax
jne 0x43aaaf
push 0xd
call fcn.004496b0
add esp, 4
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
push 3
call fcn.004496b0
add esp, 4
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
mov eax, 1
cmp dword [0x5ea8f8], eax
jne case.0x439946.60
cmp dword [0x526908], 0x50
jne case.0x439946.60
cmp byte [0x6a63e4], 0
jne case.0x439946.60
mov byte [0x6a63e4], al
cmp dword [0x6a4378], eax
jne 0x43ab1b
push 0xe
call fcn.004496b0
add esp, 4
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
push 4
call fcn.004496b0
add esp, 4
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
mov eax, 1
cmp dword [0x5ea8f8], eax
jne case.0x439946.60
cmp dword [0x526908], 0x50
jne case.0x439946.60
cmp byte [0x6a63e5], 0
jne case.0x439946.60
mov byte [0x6a63e5], al
cmp dword [0x6a4378], eax
jne 0x43ab87
push 0xf
call fcn.004496b0
add esp, 4
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
push 5
call fcn.004496b0
add esp, 4
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
mov eax, 1
cmp dword [0x5ea8f8], eax
jne case.0x439946.60
cmp dword [0x526908], 0x50
jne case.0x439946.60
cmp byte [0x6a63e6], 0
jne case.0x439946.60
mov byte [0x6a63e6], al
cmp dword [0x6a4378], eax
jne 0x43abf3
push 0x10
call fcn.004496b0
add esp, 4
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
push 6
call fcn.004496b0
add esp, 4
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
mov eax, 1
cmp dword [0x5ea8f8], eax
jne case.0x439946.60
cmp dword [0x526908], 0x50
jne case.0x439946.60
cmp byte [0x6a63e7], 0
jne case.0x439946.60
mov byte [0x6a63e7], al
cmp dword [0x6a4378], eax
jne 0x43ac5f
push 0x11
call fcn.004496b0
add esp, 4
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
push 7
call fcn.004496b0
add esp, 4
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
mov eax, 1
cmp dword [0x5ea8f8], eax
jne case.0x439946.60
cmp dword [0x526908], 0x50
jne case.0x439946.60
cmp byte [0x6a63e8], 0
jne case.0x439946.60
mov byte [0x6a63e8], al
cmp dword [0x6a4378], eax
jne 0x43accb
push 0x12
call fcn.004496b0
add esp, 4
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
push 8
call fcn.004496b0
add esp, 4
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
mov eax, 1
cmp dword [0x5ea8f8], eax
jne case.0x439946.60
cmp dword [0x526908], 0x50
jne case.0x439946.60
cmp byte [0x6a63e9], 0
jne case.0x439946.60
mov byte [0x6a63e9], al
cmp dword [0x6a4378], eax
jne 0x43ad37
push 0x13
call fcn.004496b0
add esp, 4
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
push 9
call fcn.004496b0
add esp, 4
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
mov eax, 1
cmp dword [0x5ea8f8], eax
jne case.0x439946.60
cmp dword [0x526908], 0x50
jne case.0x439946.60
cmp byte [0x6a63e0], 0
jne case.0x439946.60
mov byte [0x6a63e0], al
cmp dword [0x6a4378], eax
jne 0x43ada3
push 0x14
call fcn.004496b0
add esp, 4
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
push 0xa
call fcn.004496b0
add esp, 4
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
cmp dword [0x5ea8f8], 1
jne case.0x439946.60
cmp dword [0x526908], 0x50
jne case.0x439946.60
cmp byte [0x6a6403], 0
jne case.0x439946.60
cmp byte [0x6a5818], 0
push 0x15
jne 0x43adf6
call fcn.00470df0
jmp 0x43adfb
call fcn.00470960
mov ecx, dword [0x5e90d8]
add esp, 4
test ecx, ecx
je 0x43ae13
push 0
push 1
push 0
call fcn.00488d70
pop edi
mov byte [0x6a6403], 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
cmp dword [0x5ea8f8], 1
jne case.0x439946.60
cmp dword [0x526908], 0x50
jne case.0x439946.60
cmp byte [0x6a63f9], 0
jne case.0x439946.60
cmp byte [0x6a5858], 0
jne 0x43ae7e
cmp byte [0x6a58b8], 0
jne 0x43ae88
cmp byte [0x6a58d8], 0
jne 0x43ae88
cmp byte [0x6a5b78], 0
jne 0x43ae88
push 0x17
call fcn.00470df0
jmp 0x43ae85
push 0x17
call fcn.00470960
add esp, 4
mov ecx, dword [0x5e90d8]
test ecx, ecx
je 0x43ae9d
push 0
push 1
push 0
call fcn.00488d70
pop edi
mov byte [0x6a63f9], 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
cmp dword [0x5ea8f8], 1
jne case.0x439946.60
cmp dword [0x526908], 0x50
jne case.0x439946.60
cmp byte [0x6a63f5], 0
jne case.0x439946.60
cmp byte [0x6a5838], 0
push 0x16
jne 0x43aeed
call fcn.00470df0
jmp 0x43aef2
call fcn.00470960
mov ecx, dword [0x5e90d8]
add esp, 4
test ecx, ecx
je 0x43af0a
push 0
push 1
push 0
call fcn.00488d70
pop edi
mov byte [0x6a63f5], 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
mov edx, 1
cmp dword [0x5ea8f8], edx
jne case.0x439946.60
cmp dword [0x526908], 0x50
jne case.0x439946.60
xor ecx, ecx
cmp byte [0x6a63f6], cl
jne case.0x439946.60
mov eax, dword [0x1a82f6c]
cmp eax, ecx
jne 0x43af7c
pop edi
mov dword [0x1a82f6c], edx
mov dword [0x1a82074], 2
mov byte [0x6a63f6], dl
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
cmp eax, edx
jne 0x43afa0
pop edi
mov dword [0x1a82f6c], 2
mov byte [0x6a63f6], dl
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
pop edi
mov dword [0x1a82f6c], ecx
mov dword [0x1a82074], ecx
mov byte [0x6a63f6], dl
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
cmp dword [0x5ea8f8], 1
jne case.0x439946.60
cmp dword [0x526908], 0x50
jne case.0x439946.60
cmp byte [0x6a63fb], 0
jne case.0x439946.60
cmp byte [0x6a5878], 0
push 0x18
jne 0x43affb
call fcn.00470df0
jmp 0x43b000
call fcn.00470960
mov ecx, dword [0x5e90d8]
add esp, 4
test ecx, ecx
je 0x43b018
push 0
push 1
push 0
call fcn.00488d70
pop edi
mov byte [0x6a63fb], 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
cmp dword [0x5ea8f8], 1
jne case.0x439946.60
cmp dword [0x526908], 0x50
jne case.0x439946.60
cmp byte [0x6a63f7], 0
jne case.0x439946.60
cmp byte [0x6a5898], 0
push 0x19
jne 0x43b068
call fcn.00470df0
jmp 0x43b06d
call fcn.00470960
mov ecx, dword [0x5e90d8]
add esp, 4
test ecx, ecx
je 0x43b085
push 0
push 1
push 0
call fcn.00488d70
pop edi
mov byte [0x6a63f7], 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
cmp dword [0x5ea8f8], 1
jne case.0x439946.60
cmp dword [0x526908], 0x50
jne case.0x439946.60
cmp byte [0x6a63fd], 0
jne case.0x439946.60
mov eax, dword [0x6a42ac]
cmp eax, 3
jne 0x43b0fe
mov dword [0x6a42ac], 0
push 0xff
mov ecx, dword [0x641938]
call fcn.00488380
pop edi
mov byte [0x6a63fd], 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
inc eax
mov dword [0x6a42ac], eax
cmp eax, 1
jne 0x43b10d
push 0x7f
jmp 0x43b0dc
cmp eax, 2
jne 0x43b0d7
push 0xbf
jmp 0x43b0dc
cmp dword [0x5ea8f8], 1
jne case.0x439946.60
cmp dword [0x526908], 0x50
jne case.0x439946.60
cmp byte [0x6a63ff], 0
jne case.0x439946.60
cmp byte [0x6a5c18], 0
push 0x35
jne 0x43b152
call fcn.00470df0
jmp 0x43b157
call fcn.00470960
mov ecx, dword [0x5e90d8]
add esp, 4
test ecx, ecx
je 0x43b16f
push 0
push 1
push 0
call fcn.00488d70
pop edi
mov byte [0x6a63ff], 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
cmp dword [0x5ea8f8], 1
jne case.0x439946.60
cmp dword [0x526908], 0x50
jne case.0x439946.60
cmp byte [0x6a63f8], 0
jne case.0x439946.60
cmp byte [0x6a5cd8], 0
push 0x3b
jne 0x43b1bf
call fcn.00470df0
jmp 0x43b1c4
call fcn.00470960
mov ecx, dword [0x5e90d8]
add esp, 4
test ecx, ecx
je 0x43b1dc
push 0
push 1
push 0
call fcn.00488d70
pop edi
mov byte [0x6a63f8], 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
cmp dword [0x5ea8f8], 1
jne case.0x439946.60
cmp dword [0x526908], 0x50
jne case.0x439946.60
cmp byte [0x6a63f1], 0
jne case.0x439946.60
cmp byte [0x6a5d58], 0
push 0x3f
jne 0x43b22c
call fcn.00470df0
jmp 0x43b231
call fcn.00470960
mov ecx, dword [0x5e90d8]
add esp, 4
test ecx, ecx
je 0x43b249
push 0
push 1
push 0
call fcn.00488d70
pop edi
mov byte [0x6a63f1], 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
cmp dword [0x5ea8f8], 1
jne case.0x439946.60
cmp dword [0x526908], 0x50
jne case.0x439946.60
cmp byte [0x6a6402], 0
jne case.0x439946.60
mov byte [0x6a6402], 1
call fcn.0046fb90
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
mov eax, dword [0x526718]
mov ecx, dword [eax*4 + 0x5e9f3c]
push esi
call fcn.0048a300
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x526718]
mov ecx, dword [ecx*4 + 0x5e9f3c]
push esi
call fcn.0048a300
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
mov edx, dword [0x526718]
mov ecx, dword [edx*4 + 0x5e9f3c]
push esi
call fcn.0048a300
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
cmp dword [0x5ea8f8], 1
jne case.0x439946.60
cmp dword [0x526908], 0x50
jne case.0x439946.60
cmp byte [0x6a63f2], 0
jne case.0x439946.60
cmp byte [0x6a5d78], 0
push 0x40
jne 0x43b338
call fcn.00470df0
jmp 0x43b33d
call fcn.00470960
mov ecx, dword [0x5e90d8]
add esp, 4
test ecx, ecx
je 0x43b355
push 0
push 1
push 0
call fcn.00488d70
mov byte [0x6a63f2], 1
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.004ccd49
mov esp, ebp
pop ebp
ret