Function at 0x43de9a
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xac
mov eax, dword [ebp + 0x24]
push ebx
push esi
mov esi, 0x3fff
push edi
mov dword [ebp - 0x34], esi
call fcn.0043dde7
mov byte [ebp - 0x11], al
mov eax, dword [0x45e404]
xor ebx, ebx
cmp eax, ebx
jne 0x43ded2
lea edi, [ebp - 0xac]
mov dword [ebp - 0x10], edi
jmp 0x43df7d
mov ecx, dword [0x45e408]
mov edi, ecx
imul edi, edi, 0x70
add edi, eax
inc ecx
cmp ecx, dword [0x45b0d8]
mov dword [ebp - 0x10], edi
mov dword [0x45e408], ecx
jl 0x43def7
mov dword [0x45e408], ebx
mov al, byte [ebp + 0x18]
mov byte [edi], al
mov al, byte [ebp + 0x20]
mov byte [edi + 5], al
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
sub ecx, dword [0x46022c]
mov dword [0x45e40c], eax
test ecx, ecx
mov dword [ebp - 0x3c], ecx
fild dword [ebp - 0x3c]
jge 0x43df25
fadd dword [0x458a60]
fmul dword [0x458a64]
mov dword [0x46022c], eax
fstp dword [edi + 8]
call dword [sym.imp.USER32.dll_GetForegroundWindow]
cmp eax, ebx
mov dword [ebp - 0x24], eax
je 0x43df65
cmp eax, dword [0x45e410]
je 0x43df60
push eax
lea eax, [edi + 0xc]
push eax
push 0x418
push dword [0x45d9cc]
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x43df75
mov byte [edi + 0xc], bl
jmp 0x43df75
lea eax, [edi + 0xc]
push 0x453d48
push eax
call sub.MSVCR71.dll_strcpy
pop ecx
pop ecx
mov eax, dword [ebp - 0x24]
mov dword [0x45e410], eax
cmp byte [ebp + 0x18], 0x9c
mov ax, word [ebp + 0x1c]
mov word [edi + 2], ax
jb 0x43df94
cmp byte [ebp + 0x18], 0x9f
ja 0x43df94
mov dword [ebp + 0x1c], ebx
mov eax, dword [ebp + 8]
cmp eax, dword [0x45db04]
jne 0x43dfd6
mov al, byte [ebp + 0x28]
and al, 1
mov byte [ebp - 0x12], al
jne 0x43dfc0
cmp byte [ebp + 0x20], bl
movzx ecx, byte [ebp + 0x18]
setne al
dec al
and eax, 0x80
mov byte [ecx + 0x45d9f0], al
mov ecx, dword [0x45e428]
cmp byte [ebp - 0x11], bl
je 0x43e189
mov al, 0x69
jmp 0x43e195
mov eax, dword [ebp + 0x28]
shr eax, 4
and al, 1
test byte [ebp + 0x1d], 1
mov byte [ebp - 0x12], al
jne 0x43e046
push 0x90
call dword [sym.imp.USER32.dll_GetKeyState]
test al, 1
je 0x43e046
movzx eax, byte [ebp + 0x18]
cmp eax, 0x60
jg 0x43e0c5
je 0x43e0b8
cmp eax, 0x25
jg 0x43e097
je 0x43e0f1
sub eax, 0xc
je 0x43e0e1
sub eax, 0x15
je 0x43e169
dec eax
je 0x43e101
dec eax
je 0x43e121
dec eax
jne 0x43e046
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x45c8bc], al
movzx edi, byte [ebp + 0x18]
mov ecx, dword [0x45e428]
lea eax, [edi + edi*8]
shl eax, 5
cmp byte [eax + ecx + 4], bl
jne 0x43dfc6
push dword [ebp + 0x20]
push dword [ebp + 0x18]
push dword [ebp + 0x28]
call fcn.0043de1e
mov ecx, dword [0x45e428]
add esp, 0xc
test al, al
je 0x43dfc6
cmp byte [ebp + 0x20], bl
setne al
dec al
and eax, 0x80
mov byte [edi + 0x45d9f0], al
jmp 0x43dfc6
sub eax, 0x26
je 0x43e179
dec eax
je 0x43e131
dec eax
je 0x43e111
sub eax, 5
je 0x43e0b8
dec eax
je 0x43e159
jmp 0x43e046
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x45c8b5], al
jmp 0x43e046
cmp eax, 0x66
jg 0x43e141
je 0x43e131
sub eax, 0x61
je 0x43e121
dec eax
je 0x43e111
dec eax
je 0x43e101
dec eax
je 0x43e0f1
dec eax
jne 0x43e046
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x45c8ba], al
jmp 0x43e046
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x45c8b9], al
jmp 0x43e046
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x45c8b8], al
jmp 0x43e046
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x45c8b7], al
jmp 0x43e046
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x45c8b6], al
jmp 0x43e046
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x45c8bb], al
jmp 0x43e046
sub eax, 0x67
je 0x43e03b
dec eax
je 0x43e179
dec eax
je 0x43e169
sub eax, 5
jne 0x43e046
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x45c8b4], al
jmp 0x43e046
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x45c8be], al
jmp 0x43e046
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x45c8bd], al
jmp 0x43e046
cmp byte [ebp - 0x12], bl
sete al
dec al
and al, 0x41
add al, 0x20
mov edx, dword [ebp - 0x10]
add edx, 4
cmp byte [0x45daf0], bl
mov byte [edx], al
je 0x43e1c9
cmp byte [ebp + 0x18], 0x5b
je 0x43e1b1
cmp byte [ebp + 0x18], 0x5c
jne 0x43e1c9
cmp byte [ebp + 0x20], bl
jne 0x43e1c9
push ebx
mov eax, dword [ebp + 8]
push 0x7fffffff
push esi
push dword [ebp - 0x10]
push ebx
jmp 0x43f402
cmp byte [0x45c8e1], bl
je 0x43e24c
cmp byte [ebp + 0x18], 0x1b
jne 0x43e24c
cmp byte [ebp + 0x20], bl
jne 0x43e24c
push ebx
push str.32771
call dword [sym.imp.USER32.dll_FindWindowA]
cmp eax, ebx
je 0x43e246
push ebx
push eax
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp edi, eax
jne 0x43e246
mov edi, 0xffc3d44d
push edi
push ebx
push ebx
push ebx
push 0x1b
push ebx
call fcn.00412730
xor eax, eax
mov al, byte [0x45d9e8]
shr al, 3
push edi
push ebx
push ebx
push ebx
and eax, 0xffffff01
or eax, 0xa4
push eax
push 1
call fcn.00412730
push ebx
push 0x7fffffff
push esi
push dword [ebp - 0x10]
push ebx
push dword [ebp + 0x1c]
push 0x1b
jmp 0x43f36c
mov ecx, dword [0x45e428]
movzx eax, word [ebp + 0x1c]
mov edx, dword [0x45e42c]
lea eax, [eax + eax*8]
shl eax, 5
lea edi, [eax + edx]
mov edx, dword [0x45db00]
cmp dword [ebp + 8], edx
mov al, byte [edi + 0x12]
mov byte [ebp - 0x28], al
jne 0x43e274
cmp al, bl
jne 0x43e280
movzx edi, byte [ebp + 0x18]
lea edi, [edi + edi*8]
shl edi, 5
add edi, ecx
cmp byte [ebp - 0x11], bl
mov dword [ebp - 8], edi
je 0x43e2b8
cmp dword [ebp + 0x24], 0xffc3d44e
jne 0x43f4b5
cmp byte [ebp + 0x20], bl
je 0x43f4b5
cmp dword [0x45c8dc], edi
jne 0x43f4b5
mov byte [edi + 0xc], bl
mov dword [0x45c8dc], ebx
jmp 0x43f4b2
cmp byte [ebp + 0x20], bl
jne 0x43e2c4
mov byte [edi + 0x10], bl
mov word [edi + 6], si
cmp dword [ebp + 8], edx
jne 0x43e367
cmp byte [ebp + 0x20], bl
je 0x43e3bc
cmp byte [0x45c8e5], bl
je 0x43e2e4
cmp byte [ebp + 0x18], 0x5b
je 0x43e316
cmp byte [0x45c8e4], bl
je 0x43e2f2
cmp byte [ebp + 0x18], 0x5c
je 0x43e316
cmp byte [0x45c8e3], bl
je 0x43e300
cmp byte [ebp + 0x18], 0xa4
je 0x43e316
cmp byte [0x45c8e2], bl
je 0x43e3bc
cmp byte [ebp + 0x18], 0xa5
jne 0x43e3bc
movzx eax, byte [ebp + 0x18]
sub eax, 0x5b
je 0x43e342
dec eax
je 0x43e33a
sub eax, 0x48
je 0x43e332
dec eax
jne 0x43e348
mov byte [0x45c8e2], bl
jmp 0x43e348
mov byte [0x45c8e3], bl
jmp 0x43e348
mov byte [0x45c8e4], bl
jmp 0x43e348
mov byte [0x45c8e5], bl
test byte [0x45d9e8], 3
jne 0x43e3bc
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x11
push 2
call fcn.00412730
add esp, 0x18
jmp 0x43e3b6
cmp byte [ebp + 0x18], bl
jne 0x43e37a
push ebx
push esi
push dword [ebp - 0x10]
push dword [ebp + 0x20]
push ebx
jmp 0x43f4c0
cmp byte [ebp + 0x18], 1
je 0x43e386
cmp byte [ebp + 0x18], 2
jne 0x43e3bc
cmp dword [0x45db44], ebx
jne 0x43f4a9
push ebx
push str.32768
call dword [sym.imp.USER32.dll_FindWindowA]
cmp eax, ebx
je 0x43e3b6
push ebx
push eax
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
cmp eax, dword [0x45fb18]
je 0x43f4a9
mov ecx, dword [0x45e428]
mov edi, dword [0x45c8dc]
cmp edi, ebx
mov eax, dword [ebp - 8]
je 0x43e3f3
cmp edi, eax
je 0x43e3f3
cmp byte [ebp + 0x20], bl
jne 0x43e3f3
mov edx, dword [0x45db00]
cmp dword [ebp + 8], edx
jne 0x43e3e7
xor edx, edx
cmp byte [eax + 4], bl
sete dl
jmp 0x43e3eb
movzx edx, byte [edi + 4]
cmp edx, ebx
je 0x43e3f3
mov byte [edi + 0x11], 1
cmp byte [eax + 8], bl
jne 0x43e401
cmp byte [eax + 9], bl
je 0x43f4b5
cmp byte [ebp + 0x20], bl
mov byte [ebp - 0x2d], bl
mov dword [ebp - 0xc], esi
mov byte [ebp - 0x13], bl
je 0x43e437
mov dl, byte [eax + 0xc]
mov byte [ebp - 0x1a], dl
mov dl, byte [eax + 0xf]
mov byte [ebp - 0x12], dl
xor edx, edx
mov dx, word [eax + 6]
cmp dx, si
mov byte [eax + 0xf], bl
je 0x43e434
mov dword [ebp - 0xc], edx
mov byte [ebp - 0x2d], 1
mov word [eax + 6], si
cmp byte [ebp + 0x20], bl
sete dl
mov byte [eax + 0xc], dl
mov edx, dword [0x45db00]
cmp dword [ebp + 8], edx
mov byte [ebp - 1], bl
jne 0x43e4ad
cmp byte [eax + 4], bl
je 0x43e4d6
cmp byte [ecx + 0xb64c], bl
jne 0x43e468
cmp byte [ecx + 0xb76c], bl
jne 0x43e468
xor edx, edx
jmp 0x43e46b
xor edx, edx
inc edx
cmp byte [ecx + 0xb88c], bl
mov byte [ecx + 0x132c], dl
jne 0x43e485
cmp byte [ecx + 0xb9ac], bl
jne 0x43e485
xor edx, edx
jmp 0x43e488
xor edx, edx
inc edx
cmp byte [ecx + 0xb40c], bl
mov byte [ecx + 0x144c], dl
jne 0x43e4a2
cmp byte [ecx + 0xb52c], bl
jne 0x43e4a2
xor edx, edx
jmp 0x43e4a5
xor edx, edx
inc edx
mov byte [ecx + 0x120c], dl
jmp 0x43e4d6
cmp edx, ebx
jne 0x43e4d6
push 1
call fcn.00411f94
mov edi, dword [0x45c8dc]
pop ecx
mov ecx, dword [0x45e428]
mov byte [0x45d9e9], al
mov byte [0x45d9e8], al
mov eax, dword [ebp - 8]
mov byte [ebp - 1], 1
mov edx, dword [eax]
cmp edx, ebx
je 0x43e4e5
cmp dword [edx], 7
mov byte [ebp - 0x11], 1
je 0x43e4e8
mov byte [ebp - 0x11], bl
mov dl, byte [eax + 8]
cmp dl, bl
je 0x43e647
cmp byte [ebp + 0x20], bl
jne 0x43e647
cmp edi, ebx
je 0x43e50d
cmp byte [eax + 9], bl
je 0x43e50d
cmp eax, edi
jne 0x43e647
cmp dl, 1
jne 0x43e543
cmp byte [ebp - 0x28], bl
movzx eax, word [ebp + 0x1c]
jne 0x43e51f
movzx eax, byte [ebp + 0x18]
push dword [ebp - 0x28]
push eax
call fcn.004112c6
test al, al
mov edi, dword [0x45c8dc]
pop ecx
pop ecx
mov ecx, dword [0x45e428]
je 0x43e543
mov eax, dword [ebp - 8]
mov byte [ebp - 2], 1
jmp 0x43e558
mov eax, dword [ebp - 8]
cmp eax, edi
mov byte [ebp - 2], bl
je 0x43e558
mov edi, eax
mov dword [0x45c8dc], edi
mov byte [eax + 0x11], bl
cmp byte [eax + 9], bl
je 0x43e60d
cmp byte [ebp - 1], bl
jne 0x43e581
push 1
mov byte [ebp - 1], 1
call fcn.00411f94
mov edi, dword [0x45c8dc]
mov eax, dword [ebp - 8]
pop ecx
mov ecx, dword [0x45e428]
mov al, byte [eax + 4]
cmp al, bl
mov dl, byte [0x45d9e9]
je 0x43e595
not al
mov byte [ebp - 0x19], al
and dl, al
cmp dl, bl
jne 0x43e59e
cmp byte [ebp - 2], bl
je 0x43e60d
mov eax, dword [ebp + 8]
cmp eax, dword [0x45db00]
jne 0x43e5c5
cmp byte [ebp - 0x28], bl
je 0x43e5c5
movzx eax, word [ebp + 0x1c]
movzx edx, dl
shl edx, 8
add edx, eax
mov eax, dword [0x45e420]
movzx eax, word [eax + edx*2]
jmp 0x43e5db
movzx eax, dl
movzx edx, byte [ebp + 0x18]
shl eax, 8
add eax, edx
mov edx, dword [0x45e41c]
movzx eax, word [edx + eax*2]
test ah, 0x40
mov dword [ebp - 0xc], eax
je 0x43e5ec
mov ecx, dword [ebp - 8]
mov word [ecx + 6], ax
jmp 0x43e616
mov edx, dword [0x460234]
and eax, esi
cmp ax, word [edx]
jae 0x43e60d
mov edx, dword [0x45e424]
movzx eax, ax
mov ax, word [edx + eax*2]
mov edx, dword [ebp - 8]
mov word [edx + 6], ax
cmp word [ebp - 0xc], si
jne 0x43e647
mov ecx, dword [ebp - 8]
cmp byte [ebp - 2], bl
je 0x43e628
or byte [ecx + 0xb], 8
mov eax, dword [ebp - 0x10]
add eax, 4
mov byte [eax], 0x23
cmp byte [ecx + 4], bl
jne 0x43e641
test byte [ecx + 0xb], 1
jne 0x43e641
cmp byte [ebp - 0x11], bl
jne 0x43e641
cmp byte [ebp - 2], bl
je 0x43e1b6
push ebx
jmp 0x43ef99
mov edx, dword [ebp - 8]
cmp byte [edx + 9], bl
mov byte [ebp - 0x19], bl
je 0x43e699
cmp byte [ebp + 0x20], bl
je 0x43e699
cmp edi, edx
jne 0x43e668
cmp byte [ebp - 0x12], bl
je 0x43e699
xor edi, edi
mov dword [0x45c8dc], edi
cmp byte [edx + 0xa], bl
jne 0x43e695
mov al, byte [edx + 0xb]
test al, 8
je 0x43e67d
xor cl, cl
and al, 0xf7
mov byte [edx + 0xb], al
jmp 0x43e67f
mov cl, 1
cmp byte [ebp - 0x12], bl
je 0x43f4b5
cmp cl, bl
je 0x43f4b5
jmp 0x43ef61
mov byte [ebp - 0x19], 1
cmp byte [edx + 8], bl
je 0x43e7da
cmp byte [ebp + 0x20], bl
je 0x43e7da
cmp edi, edx
jne 0x43e6b7
xor edi, edi
mov dword [0x45c8dc], edi
cmp byte [edx + 0xd], bl
je 0x43e6e5
mov eax, dword [ebp - 8]
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x12
push 1
mov byte [eax + 0xd], bl
call fcn.00412730
mov ecx, dword [0x45e428]
mov edi, dword [0x45c8dc]
mov edx, dword [ebp - 8]
add esp, 0x18
cmp byte [edx + 0xe], bl
je 0x43e713
mov eax, dword [ebp - 8]
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x10
push 1
mov byte [eax + 0xe], bl
call fcn.00412730
mov ecx, dword [0x45e428]
mov edi, dword [0x45c8dc]
mov edx, dword [ebp - 8]
add esp, 0x18
cmp word [ebp - 0xc], si
jne 0x43e72d
mov al, byte [edx + 0xb]
test al, 8
je 0x43e72d
mov ecx, dword [ebp - 8]
and al, 0xf7
mov byte [ecx + 0xb], al
jmp 0x43f4b5
cmp byte [ebp - 0x11], bl
mov al, byte [edx + 0x11]
je 0x43e792
cmp al, 2
jne 0x43e76d
push 0xffc3d44e
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push 1
call fcn.00412730
push 0xffc3d44d
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push 2
call fcn.00412730
push ebx
push 0x7fffffff
push esi
jmp 0x43f360
cmp al, 1
je 0x43f4b5
cmp byte [edx + 9], bl
jne 0x43e7cc
cmp byte [edx + 4], bl
jne 0x43f4b5
test byte [edx + 0xb], 1
jne 0x43f4b5
jmp 0x43ef58
cmp al, bl
je 0x43e775
cmp word [ebp - 0xc], si
jne 0x43e775
cmp byte [edx + 4], bl
je 0x43e7bc
cmp al, 2
mov eax, dword [ebp + 0x1c]
jne 0x43e7ac
push 1
jmp 0x43e7ad
push ebx
push esi
push dword [ebp - 0x10]
push dword [ebp + 0x20]
push dword [ebp + 0x18]
jmp 0x43f4c3
test byte [edx + 0xb], 1
push ebx
je 0x43ef62
jmp 0x43f4b6
cmp byte [ebp - 0x1a], bl
jne 0x43e7da
cmp byte [edx + 0xa], bl
je 0x43f4b5
cmp byte [ebp - 1], bl
jne 0x43e7fc
cmp word [ebp - 0xc], si
jne 0x43e7fc
push 1
call fcn.00411f94
mov edi, dword [0x45c8dc]
mov edx, dword [ebp - 8]
pop ecx
mov ecx, dword [0x45e428]
cmp edi, ebx
mov byte [ebp - 2], bl
je 0x43ed7e
cmp byte [ebp + 0x20], bl
je 0x43e815
cmp byte [edx + 0xa], bl
je 0x43ed7e
cmp word [ebp - 0xc], si
jne 0x43eea8
cmp byte [edx + 0x13], bl
mov dword [ebp - 0x20], ebx
jbe 0x43e8fb
lea eax, [edx + 0x16]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov al, byte [eax]
mov byte [ebp - 0x1a], al
movzx eax, al
lea eax, [eax + eax*8]
shl eax, 5
cmp byte [eax + ecx + 0xc], bl
je 0x43e879
mov eax, dword [ebp - 0x18]
movzx eax, word [eax + 2]
test ah, 0x40
mov dword [ebp - 0x24], eax
je 0x43e868
cmp byte [ebp + 0x20], bl
jne 0x43e88e
cmp word [ebp - 0xc], si
mov word [edx + 6], ax
jne 0x43e8a7
jmp 0x43e879
cmp byte [ebp + 0x20], bl
jne 0x43e879
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0xc], eax
mov al, byte [ebp - 0x1a]
mov byte [ebp - 1], al
movzx eax, byte [edx + 0x13]
inc dword [ebp - 0x20]
add dword [ebp - 0x18], 4
cmp dword [ebp - 0x20], eax
mov edx, dword [ebp - 8]
jl 0x43e831
jmp 0x43e8a1
mov eax, dword [ebp - 0x18]
mov ax, word [eax + 2]
mov word [ebp - 0xc], ax
mov eax, dword [ebp - 0x18]
mov al, byte [eax]
mov byte [ebp - 1], al
cmp word [ebp - 0xc], si
je 0x43e8fb
movzx edi, byte [ebp - 1]
mov eax, edi
sub eax, 0x10
je 0x43e8dc
dec eax
je 0x43e8ca
dec eax
jne 0x43e8ee
xor eax, eax
cmp byte [ecx + 0xb9ac], bl
setne al
add eax, 0xa4
jmp 0x43e8ec
xor eax, eax
cmp byte [ecx + 0xb76c], bl
setne al
add eax, 0xa2
jmp 0x43e8ec
xor eax, eax
cmp byte [ecx + 0xb52c], bl
setne al
add eax, 0xa0
mov edi, eax
lea edi, [edi + edi*8]
shl edi, 5
add edi, ecx
jmp 0x43e993
cmp byte [edx + 0x14], bl
mov dword [ebp - 0x20], ebx
jbe 0x43e9a3
add edx, 0xde
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
movzx eax, word [eax]
mov edx, dword [0x45e42c]
lea eax, [eax + eax*8]
shl eax, 5
cmp byte [eax + edx + 0xc], bl
je 0x43e956
mov edx, dword [ebp - 0x18]
mov ax, word [edx + 2]
test ah, 0x40
je 0x43e948
cmp byte [ebp + 0x20], bl
jne 0x43e96b
cmp word [ebp - 0xc], si
mov edx, dword [ebp - 8]
mov word [edx + 6], ax
jne 0x43e983
jmp 0x43e959
cmp byte [ebp + 0x20], bl
jne 0x43e956
movzx edx, word [edx]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x2c], edx
mov edx, dword [ebp - 8]
movzx eax, byte [edx + 0x14]
inc dword [ebp - 0x20]
add dword [ebp - 0x18], 4
cmp dword [ebp - 0x20], eax
jl 0x43e910
jmp 0x43e97a
mov ax, word [edx + 2]
mov word [ebp - 0xc], ax
mov ax, word [edx]
mov word [ebp - 0x2c], ax
cmp word [ebp - 0xc], si
mov edx, dword [ebp - 8]
je 0x43e9a3
movzx edi, word [ebp - 0x2c]
lea edi, [edi + edi*8]
shl edi, 5
add edi, dword [0x45e42c]
cmp word [ebp - 0xc], si
mov dword [0x45c8dc], edi
jne 0x43eb5f
mov al, byte [ebp + 0x18]
cmp al, 0xa0
jb 0x43eb5f
cmp al, 0xa1
jbe 0x43e9c6
cmp al, 0xa3
jbe 0x43e9c2
cmp al, 0xa5
ja 0x43eb5f
mov al, 0x12
jmp 0x43e9c8
mov al, 0x11
jmp 0x43e9c8
mov al, 0x10
movzx eax, al
lea eax, [eax + eax*8]
shl eax, 5
add eax, ecx
mov dword [ebp - 0x24], eax
movzx eax, byte [eax + 0x13]
cmp eax, ebx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x20], ebx
jle 0x43ea59
mov eax, dword [ebp - 0x24]
add eax, 0x16
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov al, byte [eax]
mov byte [ebp - 0x1a], al
movzx eax, al
lea eax, [eax + eax*8]
shl eax, 5
cmp byte [eax + ecx + 0xc], bl
je 0x43ea32
mov eax, dword [ebp - 0x18]
movzx eax, word [eax + 2]
test ah, 0x40
mov dword [ebp - 0x3c], eax
je 0x43ea24
cmp byte [ebp + 0x20], bl
jne 0x43ea46
cmp word [ebp - 0xc], si
mov word [edx + 6], ax
jne 0x43ea5f
jmp 0x43ea32
cmp byte [ebp + 0x20], bl
jne 0x43ea32
mov dword [ebp - 0xc], eax
mov al, byte [ebp - 0x1a]
mov byte [ebp - 1], al
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
add dword [ebp - 0x18], 4
cmp eax, dword [ebp - 0x38]
mov edx, dword [ebp - 8]
jl 0x43e9ed
jmp 0x43ea59
mov eax, dword [ebp - 0x18]
mov ax, word [eax + 2]
mov word [ebp - 0xc], ax
mov eax, dword [ebp - 0x18]
mov al, byte [eax]
mov byte [ebp - 1], al
cmp word [ebp - 0xc], si
je 0x43eab3
movzx edi, byte [ebp - 1]
mov eax, edi
sub eax, 0x10
je 0x43eaa1
dec eax
je 0x43ea82
dec eax
jne 0x43ea94
xor eax, eax
cmp byte [ecx + 0xb9ac], bl
setne al
add eax, 0xa4
jmp 0x43ea92
xor eax, eax
cmp byte [ecx + 0xb76c], bl
setne al
add eax, 0xa2
mov edi, eax
lea edi, [edi + edi*8]
shl edi, 5
add edi, ecx
jmp 0x43eb59
xor eax, eax
cmp byte [ecx + 0xb52c], bl
setne al
add eax, 0xa0
jmp 0x43ea92
mov eax, dword [ebp - 0x24]
movzx eax, byte [eax + 0x14]
cmp eax, ebx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x20], ebx
jle 0x43eb5f
mov eax, dword [ebp - 0x24]
add eax, 0xde
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
movzx eax, word [eax]
mov edx, dword [0x45e42c]
lea eax, [eax + eax*8]
shl eax, 5
cmp byte [eax + edx + 0xc], bl
mov edx, dword [ebp - 0x18]
je 0x43eb1e
mov ax, word [edx + 2]
test ah, 0x40
je 0x43eb0e
cmp byte [ebp + 0x20], bl
jne 0x43eb31
cmp word [ebp - 0xc], si
mov edx, dword [ebp - 8]
mov word [edx + 6], ax
jne 0x43eb49
mov edx, dword [ebp - 0x18]
jmp 0x43eb1e
cmp byte [ebp + 0x20], bl
jne 0x43eb1e
mov dword [ebp - 0xc], eax
xor eax, eax
mov ax, word [edx]
mov dword [ebp - 0x2c], eax
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
add edx, 4
cmp eax, dword [ebp - 0x38]
mov dword [ebp - 0x18], edx
jl 0x43ead3
jmp 0x43eb40
mov ax, word [edx + 2]
mov word [ebp - 0xc], ax
mov ax, word [edx]
mov word [ebp - 0x2c], ax
cmp word [ebp - 0xc], si
mov edx, dword [ebp - 8]
je 0x43eb5f
movzx edi, word [ebp - 0x2c]
lea edi, [edi + edi*8]
shl edi, 5
add edi, dword [0x45e42c]
mov dword [0x45c8dc], edi
mov eax, dword [ebp - 0xc]
and eax, esi
cmp word [ebp - 0xc], si
mov dword [ebp - 0x2c], eax
je 0x43ebbf
mov edx, dword [0x460234]
cmp ax, word [edx]
jae 0x43ebb8
mov edi, dword [ebp - 0x10]
lea eax, [edi + 4]
push eax
lea eax, [ebp - 2]
push eax
mov eax, dword [ebp - 8]
add eax, 0xb
push eax
push dword [ebp + 0x20]
lea eax, [ebp - 0xc]
push eax
call fcn.0040fff4
add esp, 0x14
cmp al, bl
mov byte [ebp - 0x13], al
je 0x43ef04
mov eax, dword [ebp - 0xc]
mov ecx, dword [0x45e428]
mov edi, dword [0x45c8dc]
and eax, esi
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 8]
mov byte [edi + 0x11], 2
cmp ax, 0x3ffe
je 0x43ebcf
cmp ax, 0x3ffd
jne 0x43ed7e
cmp byte [ebp + 0x20], bl
jne 0x43ebd8
mov byte [edx + 0xf], 1
test byte [0x45d9e8], 0xc
jne 0x43ebfd
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x12
push ebx
call fcn.00412730
mov edi, dword [0x45c8dc]
mov eax, dword [ebp - 0x2c]
add esp, 0x18
cmp byte [ebp + 0x18], 0xa2
je 0x43ec09
cmp byte [ebp + 0x18], 0xa3
jne 0x43ec2e
cmp byte [ebp + 0x20], bl
jne 0x43ec2e
push 0xffc3d44d
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push 1
call fcn.00412730
mov edi, dword [0x45c8dc]
mov eax, dword [ebp - 0x2c]
add esp, 0x18
cmp ax, 0x3ffd
mov byte [edi + 0xd], 1
jne 0x43ec60
test byte [0x45d9e8], 0x30
jne 0x43ec5a
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x10
push ebx
call fcn.00412730
mov edi, dword [0x45c8dc]
add esp, 0x18
mov byte [edi + 0xe], 1
jmp 0x43ecce
cmp ax, 0x3ffe
jne 0x43ecce
cmp byte [ebp + 0x18], 0xa0
je 0x43ec72
cmp byte [ebp + 0x18], 0xa1
jne 0x43ec8e
cmp byte [ebp + 0x20], bl
jne 0x43ec8e
push 0xffc3d44d
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push 1
call fcn.00412730
add esp, 0x18
test byte [0x45d9e8], 0x10
je 0x43ecae
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0xa0
push 1
call fcn.00412730
add esp, 0x18
test byte [0x45d9e8], 0x20
je 0x43ecce
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0xa1
push 1
call fcn.00412730
add esp, 0x18
test byte [0x45d9e8], 1
je 0x43ecee
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0xa2
push 1
call fcn.00412730
add esp, 0x18
test byte [0x45d9e8], 2
mov edi, 0xffc3d44d
je 0x43ed0f
push edi
push ebx
push ebx
push ebx
push 0xa3
push 1
call fcn.00412730
add esp, 0x18
push edi
push ebx
push ebx
push ebx
push 9
push 2
call fcn.00412730
add esp, 0x18
cmp word [ebp - 0x2c], 0x3ffd
jne 0x43ed5b
mov eax, dword [0x45c8dc]
cmp byte [eax + 0xe], bl
je 0x43ed5b
cmp byte [ebp + 0x18], 0x60
jb 0x43ed3d
cmp byte [ebp + 0x18], 0x69
jbe 0x43ed43
cmp byte [ebp + 0x18], 0x6e
jne 0x43ed5b
push edi
push ebx
push ebx
push ebx
push 0x10
push 1
call fcn.00412730
mov eax, dword [0x45c8dc]
add esp, 0x18
mov byte [eax + 0xe], bl
cmp byte [ebp + 0x20], bl
mov eax, dword [ebp - 0x10]
mov byte [eax + 4], 0x68
jne 0x43ed6e
mov ecx, dword [ebp - 8]
mov byte [ecx + 0x10], 1
push ebx
push 0x7fffffff
push esi
push eax
mov eax, dword [ebp + 8]
jmp 0x43f3ff
cmp word [ebp - 0xc], si
jne 0x43eea8
mov dl, byte [edx + 4]
cmp dl, bl
mov al, byte [0x45d9e9]
mov byte [ebp - 1], al
je 0x43ed9c
not dl
and byte [ebp - 1], dl
mov eax, dword [0x45db00]
cmp dword [ebp + 8], eax
jne 0x43edc3
cmp byte [ebp - 0x28], bl
je 0x43edc3
movzx edx, byte [ebp - 1]
movzx eax, word [ebp + 0x1c]
shl edx, 8
add edx, eax
mov eax, dword [0x45e420]
mov ax, word [eax + edx*2]
jmp 0x43edda
movzx eax, byte [ebp - 1]
movzx edx, byte [ebp + 0x18]
shl eax, 8
add eax, edx
mov edx, dword [0x45e41c]
mov ax, word [edx + eax*2]
cmp ax, si
mov word [ebp - 0xc], ax
jne 0x43ee4a
cmp byte [0x45c8e1], bl
je 0x43ee4a
cmp byte [ebp + 0x18], 9
je 0x43ee4a
mov eax, dword [0x45db00]
and byte [ebp - 1], 0xf3
cmp dword [ebp + 8], eax
jne 0x43ee1c
cmp byte [ebp - 0x28], bl
je 0x43ee1c
movzx edx, byte [ebp - 1]
movzx eax, word [ebp + 0x1c]
shl edx, 8
add edx, eax
mov eax, dword [0x45e420]
mov ax, word [eax + edx*2]
jmp 0x43ee33
movzx eax, byte [ebp - 1]
movzx edx, byte [ebp + 0x18]
shl eax, 8
add eax, edx
mov edx, dword [0x45e41c]
mov ax, word [edx + eax*2]
mov word [ebp - 0xc], ax
mov eax, dword [ebp - 0xc]
and eax, esi
cmp ax, 0x3ff9
jbe 0x43ee47
cmp ax, si
jb 0x43ee4a
mov dword [ebp - 0xc], esi
mov eax, dword [ebp - 0xc]
test ah, 0x40
je 0x43ee63
cmp byte [ebp + 0x20], bl
mov edx, dword [ebp - 8]
jne 0x43ee9e
mov word [edx + 6], ax
mov dword [ebp - 0xc], esi
jmp 0x43ee9e
cmp ax, si
je 0x43ef34
mov edx, dword [0x460234]
and eax, esi
cmp byte [ebp + 0x20], bl
je 0x43ef16
cmp ax, word [edx]
jae 0x43ef0c
mov edx, dword [0x45e424]
movzx eax, ax
movzx eax, word [edx + eax*2]
cmp ax, si
je 0x43ef0c
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 8]
cmp word [ebp - 0xc], si
je 0x43ef37
add edx, 0xb
mov al, byte [edx]
test al, 8
mov dword [ebp - 0x24], edx
je 0x43eec1
cmp byte [ebp + 0x20], bl
je 0x43eec1
and al, 0xf7
mov byte [ebp - 2], 1
mov byte [edx], al
mov eax, dword [ebp - 0xc]
mov edx, dword [0x460234]
and ax, si
cmp ax, word [edx]
jae 0x43efaf
cmp byte [ebp - 0x13], bl
jne 0x43efaf
mov edi, dword [ebp - 0x10]
lea eax, [edi + 4]
push eax
lea eax, [ebp - 2]
push eax
push dword [ebp - 0x24]
lea eax, [ebp - 0xc]
push dword [ebp + 0x20]
push eax
call fcn.0040fff4
add esp, 0x14
test al, al
jne 0x43efa3
push ebx
push esi
push edi
jmp 0x43f4ba
cmp byte [ebp - 0x19], bl
je 0x43ee9b
mov dword [ebp - 0xc], esi
jmp 0x43ee9b
cmp ax, word [edx]
jae 0x43ee9b
mov edx, dword [0x45e424]
movzx eax, ax
mov ax, word [edx + eax*2]
mov edx, dword [ebp - 8]
mov word [edx + 6], ax
jmp 0x43ee9e
mov edx, dword [ebp - 8]
cmp byte [ebp + 0x20], bl
je 0x43ef70
cmp byte [edx + 4], bl
jne 0x43f4b5
test byte [edx + 0xb], 1
jne 0x43f4b5
cmp byte [edx + 8], bl
je 0x43f4b5
cmp byte [ebp - 0x11], bl
jne 0x43f4b5
push ebx
mov eax, dword [ebp + 8]
push 0x7fffffff
push esi
jmp 0x43f3fc
lea eax, [edx + 6]
cmp word [eax], si
push ebx
je 0x43ef99
lea ecx, [ebp - 2]
push ecx
mov ecx, dword [ebp - 8]
add ecx, 0xb
push ecx
push 1
push eax
call fcn.0040fff4
add esp, 0x14
cmp byte [ebp - 2], bl
push ebx
je 0x43e1b7
push esi
push dword [ebp - 0x10]
push ebx
jmp 0x43f4bd
mov ecx, dword [0x45e428]
mov edi, dword [0x45c8dc]
mov eax, dword [ebp - 0xc]
mov edx, dword [0x45db00]
and eax, esi
cmp dword [ebp + 8], edx
mov dword [ebp - 0x38], eax
mov al, byte [0x45d9e8]
jne 0x43f00a
test al, 0x3f
jne 0x43eff1
test al, 0x40
je 0x43efde
cmp byte [ecx + 0x6668], bl
jne 0x43efde
mov byte [0x45c8e5], 1
test al, al
jns 0x43eff1
cmp byte [ecx + 0x6788], bl
jne 0x43eff1
mov byte [0x45c8e4], 1
test al, 4
je 0x43f023
cmp byte [ecx + 0xb888], bl
jne 0x43f023
cmp edx, ebx
je 0x43f049
mov byte [0x45c8e3], 1
jmp 0x43f063
test al, 0xc
jne 0x43eff1
test al, 0x40
je 0x43efde
cmp byte [ecx + 0x6668], bl
jne 0x43efde
mov byte [0x45c8e5], 1
jmp 0x43eff1
test al, 8
je 0x43f063
cmp byte [ecx + 0xb9a8], bl
jne 0x43f063
call fcn.00411aa0
test al, al
jne 0x43f05d
cmp dword [0x45db00], ebx
je 0x43f049
mov byte [0x45c8e2], 1
jmp 0x43f05d
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x11
push 2
call fcn.00412730
add esp, 0x18
mov edi, dword [0x45c8dc]
mov edx, dword [ebp - 0x38]
movzx ecx, dx
mov eax, 0x3ffa
cmp ecx, eax
je 0x43f095
jle 0x43f088
cmp ecx, 0x3ffc
jle 0x43f0a1
cmp ecx, 0x3ffe
jle 0x43f128
mov dword [ebp - 0x34], edx
mov esi, 0xffc3d44d
jmp 0x43f314
cmp byte [0x45c8e1], bl
je 0x43f4b5
mov cl, byte [0x45d9e8]
test cl, 4
mov byte [ebp - 1], bl
je 0x43f0b5
mov byte [ebp - 1], 0xa4
jmp 0x43f0be
test cl, 8
je 0x43f0be
mov byte [ebp - 1], 0xa5
cmp byte [0x45c8e1], bl
je 0x43f1ec
cmp dx, 0x3ffb
je 0x43f128
cmp byte [ebp - 1], bl
je 0x43f0dc
movzx eax, byte [ebp - 1]
jmp 0x43f0df
push 0x12
pop eax
mov esi, 0xffc3d44d
push esi
push ebx
push ebx
push ebx
push eax
push 1
call fcn.00412730
mov eax, dword [ebp - 8]
add esp, 0x18
cmp byte [eax + 4], bl
je 0x43f11d
cmp byte [ebp + 0x18], 0x5b
je 0x43f11d
cmp byte [ebp + 0x18], 0x5c
je 0x43f11d
cmp byte [ebp + 0x20], bl
jne 0x43f11d
push esi
push ebx
push ebx
push ebx
push dword [ebp + 0x18]
push 1
call fcn.00412730
add esp, 0x18
mov byte [0x45c8e1], bl
jmp 0x43f309
cmp byte [0x45c8e1], bl
je 0x43f4b5
cmp byte [ebp + 0x20], bl
jne 0x43f161
mov al, byte [ebp + 0x18]
cmp al, 0xa2
je 0x43f14c
cmp al, 0xa3
je 0x43f14c
cmp al, 0xa0
je 0x43f14c
cmp al, 0xa1
jne 0x43f161
push 0xffc3d44d
push ebx
push ebx
push ebx
push dword [ebp + 0x18]
push 1
call fcn.00412730
add esp, 0x18
test byte [0x45d9e8], 0xc
je 0x43f17b
cmp byte [ebp + 0x20], bl
je 0x43f18e
cmp byte [ebp + 0x18], 0xa4
je 0x43f17b
cmp byte [ebp + 0x18], 0xa5
jne 0x43f18e
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x12
push ebx
call fcn.00412730
add esp, 0x18
cmp word [ebp - 0x38], 0x3ffd
mov byte [ebp - 0x13], bl
jne 0x43f1b9
test byte [0x45d9e8], 0x30
jne 0x43f1b9
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x10
push ebx
call fcn.00412730
add esp, 0x18
mov byte [ebp - 0x13], 1
mov esi, 0xffc3d44d
push esi
push ebx
push ebx
push ebx
push 9
push 2
call fcn.00412730
add esp, 0x18
cmp byte [ebp - 0x13], bl
je 0x43f30e
push esi
push ebx
push ebx
push ebx
push 0x10
push 1
call fcn.00412730
add esp, 0x18
jmp 0x43f30e
mov dl, byte [ebp + 0x18]
cmp dl, 0xa4
je 0x43f1fc
cmp dl, 0xa5
mov byte [ebp - 0x13], bl
jne 0x43f200
mov byte [ebp - 0x13], 1
cmp dl, 0xa0
je 0x43f20d
cmp dl, 0xa1
mov byte [ebp - 0x12], bl
jne 0x43f211
mov byte [ebp - 0x12], 1
cmp dl, 0xa2
je 0x43f21f
cmp dl, 0xa3
je 0x43f21f
xor al, al
jmp 0x43f221
mov al, 1
test cl, 0x10
mov byte [ebp - 0x18], bl
je 0x43f22f
mov byte [ebp - 0x18], 0xa0
jmp 0x43f247
test cl, 0x20
je 0x43f23a
mov byte [ebp - 0x18], 0xa1
jmp 0x43f247
cmp byte [ebp + 0x20], bl
jne 0x43f247
cmp byte [ebp - 0x12], bl
je 0x43f247
mov byte [ebp - 0x18], dl
test cl, 1
mov byte [ebp - 0x28], bl
je 0x43f255
mov byte [ebp - 0x28], 0xa2
jmp 0x43f26c
test cl, 2
je 0x43f260
mov byte [ebp - 0x28], 0xa3
jmp 0x43f26c
cmp byte [ebp + 0x20], bl
jne 0x43f26c
cmp al, bl
je 0x43f26c
mov byte [ebp - 0x28], dl
cmp byte [ebp - 0x18], bl
mov byte [ebp - 0x19], bl
je 0x43f28d
push 0xffc3d44d
push ebx
push ebx
push ebx
push dword [ebp - 0x18]
push 1
call fcn.00412730
add esp, 0x18
mov byte [ebp - 0x19], 1
cmp byte [ebp - 0x28], bl
je 0x43f2a7
push 0xffc3d44d
push ebx
push ebx
push ebx
push dword [ebp - 0x28]
push 1
call fcn.00412730
add esp, 0x18
cmp byte [ebp - 0x13], bl
je 0x43f2b6
cmp byte [ebp + 0x20], bl
jne 0x43f2bd
mov al, byte [ebp + 0x18]
jmp 0x43f2b9
mov al, byte [ebp - 1]
cmp al, bl
jne 0x43f2d3
mov esi, 0xffc3d44d
push esi
push ebx
push ebx
push ebx
push 0x12
push ebx
call fcn.00412730
add esp, 0x18
jmp 0x43f2d8
mov esi, 0xffc3d44d
push esi
push ebx
push ebx
push ebx
push 9
push 2
call fcn.00412730
add esp, 0x18
cmp byte [ebp - 0x19], bl
je 0x43f302
cmp byte [ebp - 0x12], bl
jne 0x43f302
push esi
push ebx
push ebx
push ebx
push dword [ebp - 0x18]
push ebx
call fcn.00412730
add esp, 0x18
mov byte [0x45c8e1], 1
mov esi, 0xffc3d44d
mov edi, dword [0x45c8dc]
mov eax, dword [ebp - 0x10]
add eax, 4
cmp byte [ebp - 0x11], bl
mov byte [eax], 0x68
mov eax, dword [ebp - 8]
je 0x43f37f
cmp byte [ebp + 0x20], bl
je 0x43f437
cmp byte [eax + 8], bl
je 0x43f37f
push 0xffc3d44e
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push 1
call fcn.00412730
push esi
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push 2
call fcn.00412730
push ebx
push 0x7fffffff
push dword [ebp - 0x34]
push dword [ebp - 0x10]
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
mov eax, dword [ebp + 8]
call fcn.0043fb75
add esp, 0x50
jmp 0x43f4d7
cmp byte [ebp + 0x20], bl
je 0x43f437
cmp byte [eax + 4], bl
je 0x43f39d
cmp byte [eax + 0x10], bl
jne 0x43f4a1
push 1
jmp 0x43f454
cmp byte [ebp - 2], bl
jne 0x43f3ae
mov ecx, dword [ebp - 0x24]
test byte [ecx], 1
je 0x43f498
mov edi, dword [ebp + 8]
cmp edi, dword [0x45db04]
je 0x43f418
mov ecx, dword [eax]
cmp ecx, ebx
je 0x43f3c8
cmp dword [ecx], 7
mov byte [ebp + 0xb], 1
jne 0x43f3cb
mov byte [ebp + 0xb], bl
cmp byte [eax + 0x10], bl
je 0x43f3ec
cmp byte [ebp - 0x2d], bl
jne 0x43f3ec
cmp byte [ebp + 0xb], bl
jne 0x43f3f1
push esi
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push ebx
call fcn.00412730
add esp, 0x18
cmp byte [ebp + 0xb], bl
je 0x43f418
mov eax, edi
push ebx
push 0x7fffffff
push dword [ebp - 0x34]
push dword [ebp - 0x10]
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.0043fb75
add esp, 0x20
jmp 0x43f4d7
mov eax, dword [ebp + 0x1c]
push ebx
push dword [ebp - 0x34]
push dword [ebp - 0x10]
push dword [ebp + 0x20]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push edi
jmp 0x43f4cf
cmp edi, ebx
mov byte [eax + 0xf], 1
je 0x43f448
cmp byte [edi + 4], bl
je 0x43f448
mov byte [edi + 0x11], 2
cmp byte [ebp - 2], bl
je 0x43f459
mov eax, dword [ebp - 0x24]
or byte [eax], 8
push ebx
push dword [ebp - 0x34]
jmp 0x43f4b7
cmp byte [ebp + 0x18], 0xa4
je 0x43f465
cmp byte [ebp + 0x18], 0xa5
jne 0x43f498
mov al, byte [0x45d9e8]
test al, 0xc0
je 0x43f482
test al, 0x33
jne 0x43f482
push esi
push ebx
push ebx
push ebx
push 0x11
push 2
call fcn.00412730
add esp, 0x18
push esi
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push 1
call fcn.00412730
mov eax, dword [ebp - 8]
add esp, 0x18
cmp byte [ebp + 0x20], bl
jne 0x43f4a1
mov byte [eax + 0x10], 1
mov eax, dword [ebp + 8]
jmp 0x43f3f3
cmp byte [ebp + 0x20], bl
sete al
mov byte [edi + 0xc], al
mov byte [edi + 0xf], bl
push ebx
push esi
push dword [ebp - 0x10]
push dword [ebp + 0x20]
push dword [ebp + 0x18]
mov eax, dword [ebp + 0x1c]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0043cefc
add esp, 0x24
pop edi
pop esi
pop ebx
leave
ret