Function at 0x44452e
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb4
push ebx
push esi
push edi
push dword [ebp + 0x24]
mov edi, 0x3fff
mov dword [ebp - 0x3c], edi
call fcn.00444470
mov byte [ebp - 0x11], al
mov eax, dword [0x465c34]
xor ebx, ebx
cmp eax, ebx
pop ecx
jne 0x444567
lea eax, [ebp - 0xb4]
mov dword [ebp - 0x10], eax
jmp 0x444615
mov ecx, dword [0x465c38]
mov esi, ecx
imul esi, esi, 0x70
add esi, eax
inc ecx
cmp ecx, dword [0x46306c]
mov dword [ebp - 0x10], esi
mov dword [0x465c38], ecx
jl 0x44458c
mov dword [0x465c38], ebx
mov al, byte [ebp + 0x18]
mov byte [esi], al
mov al, byte [ebp + 0x20]
mov byte [esi + 5], al
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
mov dword [0x465c3c], eax
sub eax, dword [0x466358]
test eax, eax
mov dword [ebp - 0x44], eax
fild dword [ebp - 0x44]
jge 0x4445b8
fadd dword [0x459a84]
fmul dword [0x459a80]
fstp dword [esi + 8]
mov eax, dword [0x465c3c]
mov dword [0x466358], eax
call dword [sym.imp.USER32.dll_GetForegroundWindow]
cmp eax, ebx
mov dword [ebp - 0x28], eax
je 0x4445fd
cmp eax, dword [0x465c40]
je 0x4445f8
push eax
add esi, 0xc
push esi
push 0x418
push dword [0x465208]
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x44460d
mov byte [esi + 0xc], bl
jmp 0x44460d
add esi, 0xc
push 0x459a7c
push esi
call fcn.00455a20
pop ecx
pop ecx
mov eax, dword [ebp - 0x28]
mov dword [0x465c40], eax
cmp byte [ebp + 0x18], 0x9e
mov eax, dword [ebp - 0x10]
mov cx, word [ebp + 0x1c]
mov word [eax + 2], cx
je 0x44462c
cmp byte [ebp + 0x18], 0x9f
jne 0x44462f
mov dword [ebp + 0x1c], ebx
mov eax, dword [ebp + 8]
cmp eax, dword [0x46533c]
jne 0x444662
mov al, byte [ebp + 0x28]
and al, 1
jne 0x444825
cmp byte [ebp + 0x20], bl
movzx edx, byte [ebp + 0x18]
setne cl
dec cl
and ecx, 0x80
mov byte [edx + 0x465228], cl
jmp 0x444825
mov eax, dword [ebp + 0x28]
shr eax, 4
and al, 1
test byte [ebp + 0x1d], 1
mov byte [ebp - 2], al
jne 0x4446d2
push 0x90
call dword [sym.imp.USER32.dll_GetKeyState]
test al, 1
je 0x4446d2
movzx eax, byte [ebp + 0x18]
cmp eax, 0x60
jg 0x44475e
je 0x44474e
cmp eax, 0x25
jg 0x44472d
je 0x44478a
sub eax, 0xc
je 0x44477a
sub eax, 0x15
je 0x444802
dec eax
je 0x44479a
dec eax
je 0x4447ba
dec eax
jne 0x4446d2
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x466368], al
movzx esi, byte [ebp + 0x18]
mov ecx, dword [0x4663a8]
lea eax, [esi + esi*8]
shl eax, 5
cmp byte [eax + ecx + 4], bl
jne 0x44471a
push dword [ebp + 0x20]
push dword [ebp + 0x18]
push dword [ebp + 0x28]
call fcn.004444af
add esp, 0xc
test al, al
je 0x444822
cmp byte [ebp + 0x20], bl
mov ecx, dword [0x4663a8]
setne al
dec al
and eax, 0x80
mov byte [esi + 0x465228], al
mov al, byte [ebp - 2]
cmp byte [ebp - 0x11], bl
je 0x444830
mov al, 0x69
jmp 0x44483b
sub eax, 0x26
je 0x444812
dec eax
je 0x4447ca
dec eax
je 0x4447aa
sub eax, 5
je 0x44474e
dec eax
je 0x4447f2
jmp 0x4446d2
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x466361], al
jmp 0x4446d2
cmp eax, 0x66
jg 0x4447da
je 0x4447ca
sub eax, 0x61
je 0x4447ba
dec eax
je 0x4447aa
dec eax
je 0x44479a
dec eax
je 0x44478a
dec eax
jne 0x4446d2
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x466366], al
jmp 0x4446d2
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x466365], al
jmp 0x4446d2
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x466364], al
jmp 0x4446d2
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x466363], al
jmp 0x4446d2
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x466362], al
jmp 0x4446d2
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x466367], al
jmp 0x4446d2
sub eax, 0x67
je 0x4446c7
dec eax
je 0x444812
dec eax
je 0x444802
sub eax, 5
jne 0x4446d2
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x466360], al
jmp 0x4446d2
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x46636a], al
jmp 0x4446d2
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x466369], al
jmp 0x4446d2
mov al, byte [ebp - 2]
mov ecx, dword [0x4663a8]
jmp 0x44471d
cmp al, bl
sete al
dec al
and al, 0x41
add al, 0x20
mov edx, dword [ebp - 0x10]
add edx, 4
mov byte [edx], al
cmp byte [0x465328], bl
je 0x444878
cmp byte [ebp + 0x18], 0x5b
je 0x444857
cmp byte [ebp + 0x18], 0x5c
jne 0x444878
cmp byte [ebp + 0x20], bl
jne 0x444878
push ebx
push 0x7fffffff
push edi
push dword [ebp - 0x10]
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 8]
jmp 0x445ae1
cmp byte [0x46638d], bl
je 0x4448fb
cmp byte [ebp + 0x18], 0x1b
jne 0x4448fb
cmp byte [ebp + 0x20], bl
jne 0x4448fb
push ebx
push str.32771
call dword [sym.imp.USER32.dll_FindWindowA]
cmp eax, ebx
je 0x4448f5
push ebx
push eax
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov esi, eax
call dword [sym.imp.KERNEL32.DLL_GetCurrentThreadId]
cmp esi, eax
jne 0x4448f5
mov esi, 0xffc3d44d
push esi
push ebx
push ebx
push ebx
push 0x1b
push ebx
call fcn.00410525
xor eax, eax
mov al, byte [0x465224]
shr al, 3
push esi
push ebx
push ebx
push ebx
and eax, 0xffffff01
or eax, 0xa4
push eax
push 1
call fcn.00410525
push ebx
push 0x7fffffff
push edi
push dword [ebp - 0x10]
push ebx
push dword [ebp + 0x1c]
push 0x1b
jmp 0x445a33
mov ecx, dword [0x4663a8]
movzx eax, word [ebp + 0x1c]
mov edx, dword [0x4663ac]
lea eax, [eax + eax*8]
shl eax, 5
lea esi, [eax + edx]
mov edx, dword [ebp + 8]
cmp edx, dword [0x465338]
mov al, byte [esi + 0x12]
mov byte [ebp - 0x30], al
jne 0x444923
cmp al, bl
jne 0x44492f
movzx esi, byte [ebp + 0x18]
lea esi, [esi + esi*8]
shl esi, 5
add esi, ecx
cmp byte [ebp - 0x11], bl
mov dword [ebp - 0xc], esi
je 0x444967
cmp dword [ebp + 0x24], 0xffc3d44e
jne 0x445b8c
cmp byte [ebp + 0x20], bl
je 0x445b8c
cmp dword [0x466388], esi
jne 0x445b8c
mov byte [esi + 0xc], bl
mov dword [0x466388], ebx
jmp 0x445b89
cmp byte [ebp + 0x20], bl
jne 0x444973
mov byte [esi + 0x10], bl
mov word [esi + 6], di
mov eax, dword [0x465338]
cmp dword [ebp + 8], eax
jne 0x444a1b
cmp byte [ebp + 0x20], bl
je 0x444a73
cmp byte [0x466391], bl
je 0x444998
cmp byte [ebp + 0x18], 0x5b
je 0x4449ca
cmp byte [0x466390], bl
je 0x4449a6
cmp byte [ebp + 0x18], 0x5c
je 0x4449ca
cmp byte [0x46638f], bl
je 0x4449b4
cmp byte [ebp + 0x18], 0xa4
je 0x4449ca
cmp byte [0x46638e], bl
je 0x444a73
cmp byte [ebp + 0x18], 0xa5
jne 0x444a73
movzx eax, byte [ebp + 0x18]
sub eax, 0x5b
je 0x4449f6
dec eax
je 0x4449ee
sub eax, 0x48
je 0x4449e6
dec eax
jne 0x4449fc
mov byte [0x46638e], bl
jmp 0x4449fc
mov byte [0x46638f], bl
jmp 0x4449fc
mov byte [0x466390], bl
jmp 0x4449fc
mov byte [0x466391], bl
test byte [0x465224], 3
jne 0x444a73
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x11
push 2
call fcn.00410525
add esp, 0x18
jmp 0x444a6d
cmp byte [ebp + 0x18], bl
jne 0x444a31
push ebx
push edi
push dword [ebp - 0x10]
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push ebx
jmp 0x445b9a
cmp byte [ebp + 0x18], 1
je 0x444a3d
cmp byte [ebp + 0x18], 2
jne 0x444a73
cmp dword [0x465370], ebx
jne 0x445b80
push ebx
push str.32768
call dword [sym.imp.USER32.dll_FindWindowA]
cmp eax, ebx
je 0x444a6d
push ebx
push eax
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
cmp eax, dword [0x465c44]
je 0x445b80
mov ecx, dword [0x4663a8]
mov esi, dword [0x466388]
cmp esi, ebx
mov eax, dword [ebp - 0xc]
je 0x444aaa
cmp esi, eax
je 0x444aaa
cmp byte [ebp + 0x20], bl
jne 0x444aaa
mov edx, dword [0x465338]
cmp dword [ebp + 8], edx
jne 0x444a9e
xor edx, edx
cmp byte [eax + 4], bl
sete dl
jmp 0x444aa2
movzx edx, byte [esi + 4]
cmp edx, ebx
je 0x444aaa
mov byte [esi + 0x11], 1
cmp byte [eax + 8], bl
jne 0x444ab8
cmp byte [eax + 9], bl
je 0x445b8c
cmp byte [ebp + 0x20], bl
mov byte [ebp - 0x31], bl
mov dword [ebp - 8], edi
mov byte [ebp - 0x12], bl
je 0x444aee
mov dl, byte [eax + 0xc]
mov byte [ebp - 0x21], dl
mov dl, byte [eax + 0xf]
mov byte [ebp - 0x1b], dl
xor edx, edx
mov dx, word [eax + 6]
cmp dx, di
mov byte [eax + 0xf], bl
je 0x444aeb
mov dword [ebp - 8], edx
mov byte [ebp - 0x31], 1
mov word [eax + 6], di
cmp byte [ebp + 0x20], bl
sete dl
mov byte [eax + 0xc], dl
mov edx, dword [0x465338]
cmp dword [ebp + 8], edx
mov byte [ebp - 2], bl
jne 0x444b64
cmp byte [eax + 4], bl
je 0x444b8d
cmp byte [ecx + 0xb64c], bl
jne 0x444b1f
cmp byte [ecx + 0xb76c], bl
jne 0x444b1f
xor edx, edx
jmp 0x444b22
xor edx, edx
inc edx
cmp byte [ecx + 0xb88c], bl
mov byte [ecx + 0x132c], dl
jne 0x444b3c
cmp byte [ecx + 0xb9ac], bl
jne 0x444b3c
xor edx, edx
jmp 0x444b3f
xor edx, edx
inc edx
cmp byte [ecx + 0xb40c], bl
mov byte [ecx + 0x144c], dl
jne 0x444b59
cmp byte [ecx + 0xb52c], bl
jne 0x444b59
xor edx, edx
jmp 0x444b5c
xor edx, edx
inc edx
mov byte [ecx + 0x120c], dl
jmp 0x444b8d
cmp edx, ebx
jne 0x444b8d
push 1
call fcn.0040fd86
mov esi, dword [0x466388]
pop ecx
mov ecx, dword [0x4663a8]
mov byte [0x465225], al
mov byte [0x465224], al
mov eax, dword [ebp - 0xc]
mov byte [ebp - 2], 1
mov edx, dword [eax]
cmp edx, ebx
je 0x444b9c
cmp dword [edx], 7
mov byte [ebp - 0x1a], 1
je 0x444b9f
mov byte [ebp - 0x1a], bl
mov dl, byte [eax + 8]
cmp dl, bl
je 0x444d11
cmp byte [ebp + 0x20], bl
jne 0x444d11
cmp esi, ebx
je 0x444bc4
cmp byte [eax + 9], bl
je 0x444bc4
cmp eax, esi
jne 0x444d11
cmp dl, 1
jne 0x444bfa
cmp byte [ebp - 0x30], bl
movzx eax, word [ebp + 0x1c]
jne 0x444bd6
movzx eax, byte [ebp + 0x18]
push dword [ebp - 0x30]
push eax
call fcn.0040f091
test al, al
mov esi, dword [0x466388]
pop ecx
pop ecx
mov ecx, dword [0x4663a8]
je 0x444bfa
mov eax, dword [ebp - 0xc]
mov byte [ebp - 0x11], 1
jmp 0x444c0f
mov eax, dword [ebp - 0xc]
cmp eax, esi
mov byte [ebp - 0x11], bl
je 0x444c0f
mov esi, eax
mov dword [0x466388], esi
mov byte [eax + 0x11], bl
cmp byte [eax + 9], bl
je 0x444cd7
cmp byte [ebp - 2], bl
jne 0x444c38
push 1
mov byte [ebp - 2], 1
call fcn.0040fd86
mov esi, dword [0x466388]
mov eax, dword [ebp - 0xc]
pop ecx
mov ecx, dword [0x4663a8]
mov dl, byte [0x465225]
mov byte [ebp - 1], dl
mov dl, byte [eax + 4]
cmp dl, bl
je 0x444c58
not dl
mov cl, dl
and byte [ebp - 1], cl
mov ecx, dword [0x4663a8]
mov byte [ebp - 0x3d], dl
cmp byte [ebp - 1], bl
jne 0x444c62
cmp byte [ebp - 0x11], bl
je 0x444cd7
mov ecx, dword [0x465338]
cmp dword [ebp + 8], ecx
jne 0x444c8b
cmp byte [ebp - 0x30], bl
je 0x444c8b
movzx edx, byte [ebp - 1]
movzx ecx, word [ebp + 0x1c]
shl edx, 8
add edx, ecx
mov ecx, dword [0x4663a0]
movzx ecx, word [ecx + edx*2]
jmp 0x444ca2
movzx ecx, byte [ebp - 1]
movzx edx, byte [ebp + 0x18]
shl ecx, 8
add ecx, edx
mov edx, dword [0x46639c]
movzx ecx, word [edx + ecx*2]
test ch, 0x40
mov dword [ebp - 8], ecx
je 0x444cb3
mov word [eax + 6], cx
mov dword [ebp - 8], edi
jmp 0x444ce0
mov edx, dword [0x4641d0]
and ecx, edi
cmp cx, word [edx]
jae 0x444cd1
mov edx, dword [0x4663a4]
movzx ecx, cx
mov cx, word [edx + ecx*2]
mov word [eax + 6], cx
mov ecx, dword [0x4663a8]
cmp word [ebp - 8], di
jne 0x444d11
mov eax, dword [ebp - 0xc]
cmp byte [ebp - 0x11], bl
je 0x444cf2
or byte [eax + 0xb], 8
mov ecx, dword [ebp - 0x10]
add ecx, 4
mov byte [ecx], 0x23
cmp byte [eax + 4], bl
jne 0x444d0b
test byte [eax + 0xb], 1
jne 0x444d0b
cmp byte [ebp - 0x1a], bl
jne 0x444d0b
cmp byte [ebp - 0x11], bl
je 0x44485c
push ebx
jmp 0x445654
mov edx, dword [ebp - 0xc]
cmp byte [edx + 9], bl
mov byte [ebp - 0x11], bl
je 0x444d63
cmp byte [ebp + 0x20], bl
je 0x444d63
cmp esi, edx
jne 0x444d32
cmp byte [ebp - 0x1b], bl
je 0x444d63
xor esi, esi
mov dword [0x466388], esi
cmp byte [edx + 0xa], bl
jne 0x444d5f
mov al, byte [edx + 0xb]
test al, 8
je 0x444d47
xor cl, cl
and al, 0xf7
mov byte [edx + 0xb], al
jmp 0x444d49
mov cl, 1
cmp byte [ebp - 0x1b], bl
je 0x445b8c
cmp cl, bl
je 0x445b8c
jmp 0x445625
mov byte [ebp - 0x11], 1
cmp byte [edx + 8], bl
je 0x444e9e
cmp byte [ebp + 0x20], bl
je 0x444e9e
cmp esi, edx
jne 0x444d81
xor esi, esi
mov dword [0x466388], esi
cmp byte [edx + 0xd], bl
je 0x444daf
mov eax, dword [ebp - 0xc]
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x12
push 1
mov byte [eax + 0xd], bl
call fcn.00410525
mov ecx, dword [0x4663a8]
mov esi, dword [0x466388]
mov edx, dword [ebp - 0xc]
add esp, 0x18
cmp byte [edx + 0xe], bl
je 0x444ddd
mov eax, dword [ebp - 0xc]
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x10
push 1
mov byte [eax + 0xe], bl
call fcn.00410525
mov ecx, dword [0x4663a8]
mov esi, dword [0x466388]
mov edx, dword [ebp - 0xc]
add esp, 0x18
cmp word [ebp - 8], di
jne 0x444df7
mov al, byte [edx + 0xb]
test al, 8
je 0x444df7
mov ecx, dword [ebp - 0xc]
and al, 0xf7
mov byte [ecx + 0xb], al
jmp 0x445b8c
cmp byte [ebp - 0x1a], bl
mov al, byte [edx + 0x11]
je 0x444e5c
cmp al, 2
jne 0x444e37
push 0xffc3d44e
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push 1
call fcn.00410525
push 0xffc3d44d
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push 2
call fcn.00410525
push ebx
push 0x7fffffff
push edi
jmp 0x445a27
cmp al, 1
je 0x445b8c
cmp byte [edx + 9], bl
jne 0x444e90
cmp byte [edx + 4], bl
jne 0x445b8c
test byte [edx + 0xb], 1
jne 0x445b8c
jmp 0x44561c
cmp al, bl
je 0x444e3f
cmp word [ebp - 8], di
jne 0x444e3f
cmp byte [edx + 4], bl
je 0x444e7a
cmp al, 2
jne 0x445b8c
push 1
jmp 0x445b8d
test byte [edx + 0xb], 1
push ebx
jne 0x445b8d
push 0x7fffffff
push edi
jmp 0x445a62
cmp byte [ebp - 0x21], bl
jne 0x444e9e
cmp byte [edx + 0xa], bl
je 0x445b8c
cmp byte [ebp - 2], bl
jne 0x444ec0
cmp word [ebp - 8], di
jne 0x444ec0
push 1
call fcn.0040fd86
mov esi, dword [0x466388]
mov edx, dword [ebp - 0xc]
pop ecx
mov ecx, dword [0x4663a8]
cmp esi, ebx
mov byte [ebp - 0x19], bl
je 0x44543e
cmp byte [ebp + 0x20], bl
je 0x444ed9
cmp byte [edx + 0xa], bl
je 0x44543e
cmp word [ebp - 8], di
jne 0x44556e
cmp byte [edx + 0x13], bl
mov dword [ebp - 0x20], ebx
jbe 0x444fbc
lea eax, [edx + 0x16]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax]
lea eax, [eax + eax*8]
shl eax, 5
cmp byte [eax + ecx + 0xc], bl
je 0x444f3a
mov eax, dword [ebp - 0x18]
movzx eax, word [eax + 2]
test ah, 0x40
mov dword [ebp - 0x28], eax
je 0x444f27
cmp byte [ebp + 0x20], bl
jne 0x444f4f
mov word [edx + 6], ax
cmp word [ebp - 8], di
jne 0x444f68
jmp 0x444f3a
cmp byte [ebp + 0x20], bl
jne 0x444f3a
mov eax, dword [ebp - 0x28]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x18]
mov al, byte [eax]
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 - 0xc]
jl 0x444ef5
jmp 0x444f62
mov eax, dword [ebp - 0x18]
mov ax, word [eax + 2]
mov word [ebp - 8], ax
mov eax, dword [ebp - 0x18]
mov al, byte [eax]
mov byte [ebp - 1], al
cmp word [ebp - 8], di
je 0x444fbc
movzx esi, byte [ebp - 1]
mov eax, esi
sub eax, 0x10
je 0x444f9d
dec eax
je 0x444f8b
dec eax
jne 0x444faf
xor eax, eax
cmp byte [ecx + 0xb9ac], bl
setne al
add eax, 0xa4
jmp 0x444fad
xor eax, eax
cmp byte [ecx + 0xb76c], bl
setne al
add eax, 0xa2
jmp 0x444fad
xor eax, eax
cmp byte [ecx + 0xb52c], bl
setne al
add eax, 0xa0
mov esi, eax
lea esi, [esi + esi*8]
shl esi, 5
add esi, ecx
jmp 0x445055
cmp byte [edx + 0x14], bl
mov dword [ebp - 0x20], ebx
jbe 0x445065
add edx, 0xde
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
movzx eax, word [eax]
mov edx, dword [0x4663ac]
lea eax, [eax + eax*8]
shl eax, 5
cmp byte [eax + edx + 0xc], bl
je 0x445018
mov edx, dword [ebp - 0x18]
mov ax, word [edx + 2]
test ah, 0x40
je 0x445009
cmp byte [ebp + 0x20], bl
jne 0x44502d
mov edx, dword [ebp - 0xc]
mov word [edx + 6], ax
cmp word [ebp - 8], di
jne 0x445045
jmp 0x44501b
cmp byte [ebp + 0x20], bl
jne 0x445018
mov dword [ebp - 8], eax
mov ax, word [edx]
mov word [ebp - 0x2c], ax
mov edx, dword [ebp - 0xc]
movzx eax, byte [edx + 0x14]
inc dword [ebp - 0x20]
add dword [ebp - 0x18], 4
cmp dword [ebp - 0x20], eax
jl 0x444fd1
jmp 0x44503c
mov ax, word [edx + 2]
mov word [ebp - 8], ax
mov ax, word [edx]
mov word [ebp - 0x2c], ax
cmp word [ebp - 8], di
mov edx, dword [ebp - 0xc]
je 0x445065
movzx esi, word [ebp - 0x2c]
lea esi, [esi + esi*8]
shl esi, 5
add esi, dword [0x4663ac]
cmp word [ebp - 8], di
mov dword [0x466388], esi
jne 0x445222
cmp byte [ebp + 0x18], 0xa0
jb 0x445222
cmp byte [ebp + 0x18], 0xa1
jbe 0x44508d
cmp byte [ebp + 0x18], 0xa3
jbe 0x445089
cmp byte [ebp + 0x18], 0xa5
ja 0x445222
mov al, 0x12
jmp 0x44508f
mov al, 0x11
jmp 0x44508f
mov al, 0x10
movzx eax, al
lea eax, [eax + eax*8]
shl eax, 5
add eax, ecx
mov dword [ebp - 0x28], eax
movzx eax, byte [eax + 0x13]
cmp eax, ebx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x20], ebx
jle 0x44511d
mov eax, dword [ebp - 0x28]
add eax, 0x16
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax]
lea eax, [eax + eax*8]
shl eax, 5
cmp byte [eax + ecx + 0xc], bl
je 0x4450f6
mov eax, dword [ebp - 0x18]
movzx eax, word [eax + 2]
test ah, 0x40
mov dword [ebp - 0x44], eax
je 0x4450e6
cmp byte [ebp + 0x20], bl
jne 0x44510a
mov word [edx + 6], ax
cmp word [ebp - 8], di
jne 0x445123
jmp 0x4450f6
cmp byte [ebp + 0x20], bl
jne 0x4450f6
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x18]
mov al, byte [eax]
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 - 0xc]
jl 0x4450b4
jmp 0x44511d
mov eax, dword [ebp - 0x18]
mov ax, word [eax + 2]
mov word [ebp - 8], ax
mov eax, dword [ebp - 0x18]
mov al, byte [eax]
mov byte [ebp - 1], al
cmp word [ebp - 8], di
je 0x445177
movzx esi, byte [ebp - 1]
mov eax, esi
sub eax, 0x10
je 0x445165
dec eax
je 0x445146
dec eax
jne 0x445158
xor eax, eax
cmp byte [ecx + 0xb9ac], bl
setne al
add eax, 0xa4
jmp 0x445156
xor eax, eax
cmp byte [ecx + 0xb76c], bl
setne al
add eax, 0xa2
mov esi, eax
lea esi, [esi + esi*8]
shl esi, 5
add esi, ecx
jmp 0x44521c
xor eax, eax
cmp byte [ecx + 0xb52c], bl
setne al
add eax, 0xa0
jmp 0x445156
mov eax, dword [ebp - 0x28]
movzx eax, byte [eax + 0x14]
cmp eax, ebx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x20], ebx
jle 0x445222
mov eax, dword [ebp - 0x28]
add eax, 0xde
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
movzx eax, word [eax]
mov edx, dword [0x4663ac]
lea eax, [eax + eax*8]
shl eax, 5
cmp byte [eax + edx + 0xc], bl
mov edx, dword [ebp - 0x18]
je 0x4451e1
mov ax, word [edx + 2]
test ah, 0x40
je 0x4451d2
cmp byte [ebp + 0x20], bl
jne 0x4451f4
mov edx, dword [ebp - 0xc]
mov word [edx + 6], ax
cmp word [ebp - 8], di
jne 0x44520c
mov edx, dword [ebp - 0x18]
jmp 0x4451e1
cmp byte [ebp + 0x20], bl
jne 0x4451e1
mov dword [ebp - 8], eax
mov ax, word [edx]
mov word [ebp - 0x2c], ax
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
add edx, 4
cmp eax, dword [ebp - 0x38]
mov dword [ebp - 0x18], edx
jl 0x445197
jmp 0x445203
mov ax, word [edx + 2]
mov word [ebp - 8], ax
mov ax, word [edx]
mov word [ebp - 0x2c], ax
cmp word [ebp - 8], di
mov edx, dword [ebp - 0xc]
je 0x445222
movzx esi, word [ebp - 0x2c]
lea esi, [esi + esi*8]
shl esi, 5
add esi, dword [0x4663ac]
mov dword [0x466388], esi
mov eax, dword [ebp - 8]
and eax, edi
cmp word [ebp - 8], di
mov dword [ebp - 0x2c], eax
je 0x445282
mov edx, dword [0x4641d0]
cmp ax, word [edx]
jae 0x44527b
mov esi, dword [ebp - 0x10]
lea eax, [esi + 4]
push eax
lea eax, [ebp - 0x19]
push eax
mov eax, dword [ebp - 0xc]
add eax, 0xb
push eax
push dword [ebp + 0x20]
lea eax, [ebp - 8]
push eax
call fcn.0040dd90
add esp, 0x14
cmp al, bl
mov byte [ebp - 0x12], al
je 0x4455c8
mov eax, dword [ebp - 8]
mov ecx, dword [0x4663a8]
mov esi, dword [0x466388]
and eax, edi
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0xc]
mov byte [esi + 0x11], 2
cmp ax, 0x3ffe
je 0x445292
cmp ax, 0x3ffd
jne 0x44543e
cmp byte [ebp + 0x20], bl
jne 0x44529b
mov byte [edx + 0xf], 1
test byte [0x465224], 0xc
jne 0x4452c0
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x12
push ebx
call fcn.00410525
mov esi, dword [0x466388]
mov eax, dword [ebp - 0x2c]
add esp, 0x18
cmp byte [ebp + 0x18], 0xa2
je 0x4452cc
cmp byte [ebp + 0x18], 0xa3
jne 0x4452f1
cmp byte [ebp + 0x20], bl
jne 0x4452f1
push 0xffc3d44d
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push 1
call fcn.00410525
mov esi, dword [0x466388]
mov eax, dword [ebp - 0x2c]
add esp, 0x18
cmp ax, 0x3ffd
mov byte [esi + 0xd], 1
jne 0x445323
test byte [0x465224], 0x30
jne 0x44531d
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x10
push ebx
call fcn.00410525
mov esi, dword [0x466388]
add esp, 0x18
mov byte [esi + 0xe], 1
jmp 0x445391
cmp ax, 0x3ffe
jne 0x445391
cmp byte [ebp + 0x18], 0xa0
je 0x445335
cmp byte [ebp + 0x18], 0xa1
jne 0x445351
cmp byte [ebp + 0x20], bl
jne 0x445351
push 0xffc3d44d
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push 1
call fcn.00410525
add esp, 0x18
test byte [0x465224], 0x10
je 0x445371
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0xa0
push 1
call fcn.00410525
add esp, 0x18
test byte [0x465224], 0x20
je 0x445391
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0xa1
push 1
call fcn.00410525
add esp, 0x18
test byte [0x465224], 1
je 0x4453b1
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0xa2
push 1
call fcn.00410525
add esp, 0x18
test byte [0x465224], 2
mov esi, 0xffc3d44d
je 0x4453d2
push esi
push ebx
push ebx
push ebx
push 0xa3
push 1
call fcn.00410525
add esp, 0x18
push esi
push ebx
push ebx
push ebx
push 9
push 2
call fcn.00410525
add esp, 0x18
cmp word [ebp - 0x2c], 0x3ffd
jne 0x44541e
mov eax, dword [0x466388]
cmp byte [eax + 0xe], bl
je 0x44541e
cmp byte [ebp + 0x18], 0x60
jb 0x445400
cmp byte [ebp + 0x18], 0x69
jbe 0x445406
cmp byte [ebp + 0x18], 0x6e
jne 0x44541e
push esi
push ebx
push ebx
push ebx
push 0x10
push 1
call fcn.00410525
mov eax, dword [0x466388]
add esp, 0x18
mov byte [eax + 0xe], bl
cmp byte [ebp + 0x20], bl
mov eax, dword [ebp - 0x10]
mov byte [eax + 4], 0x68
jne 0x445431
mov ecx, dword [ebp - 0xc]
mov byte [ecx + 0x10], 1
push ebx
push 0x7fffffff
push edi
push eax
jmp 0x445a65
cmp word [ebp - 8], di
jne 0x44556e
mov dl, byte [edx + 4]
cmp dl, bl
mov al, byte [0x465225]
mov byte [ebp - 1], al
je 0x445461
not dl
mov al, dl
and byte [ebp - 1], al
mov byte [ebp - 0x21], dl
mov eax, dword [ebp + 8]
cmp eax, dword [0x465338]
jne 0x445489
cmp byte [ebp - 0x30], bl
je 0x445489
movzx edx, byte [ebp - 1]
movzx eax, word [ebp + 0x1c]
shl edx, 8
add edx, eax
mov eax, dword [0x4663a0]
mov ax, word [eax + edx*2]
jmp 0x4454a0
movzx eax, byte [ebp - 1]
movzx edx, byte [ebp + 0x18]
shl eax, 8
add eax, edx
mov edx, dword [0x46639c]
mov ax, word [edx + eax*2]
cmp ax, di
mov word [ebp - 8], ax
jne 0x445510
cmp byte [0x46638d], bl
je 0x445510
cmp byte [ebp + 0x18], 9
je 0x445510
mov eax, dword [0x465338]
and byte [ebp - 1], 0xf3
cmp dword [ebp + 8], eax
jne 0x4454e2
cmp byte [ebp - 0x30], bl
je 0x4454e2
movzx edx, byte [ebp - 1]
movzx eax, word [ebp + 0x1c]
shl edx, 8
add edx, eax
mov eax, dword [0x4663a0]
mov ax, word [eax + edx*2]
jmp 0x4454f9
movzx eax, byte [ebp - 1]
movzx edx, byte [ebp + 0x18]
shl eax, 8
add eax, edx
mov edx, dword [0x46639c]
mov ax, word [edx + eax*2]
mov word [ebp - 8], ax
mov eax, dword [ebp - 8]
and eax, edi
cmp ax, 0x3ff9
jbe 0x44550d
cmp ax, di
jb 0x445510
mov dword [ebp - 8], edi
mov eax, dword [ebp - 8]
test ah, 0x40
je 0x445529
cmp byte [ebp + 0x20], bl
mov edx, dword [ebp - 0xc]
jne 0x445564
mov word [edx + 6], ax
mov dword [ebp - 8], edi
jmp 0x445564
cmp ax, di
je 0x4455f8
mov edx, dword [0x4641d0]
and eax, edi
cmp byte [ebp + 0x20], bl
je 0x4455da
cmp ax, word [edx]
jae 0x4455d0
mov edx, dword [0x4663a4]
movzx eax, ax
movzx eax, word [edx + eax*2]
cmp ax, di
je 0x4455d0
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0xc]
cmp word [ebp - 8], di
je 0x4455fb
lea eax, [edx + 0xb]
test byte [eax], 8
mov dword [ebp - 0x28], eax
je 0x445585
cmp byte [ebp + 0x20], bl
je 0x445585
mov byte [ebp - 0x19], 1
and byte [eax], 0xf7
mov eax, dword [ebp - 8]
mov edx, dword [0x4641d0]
and ax, di
cmp ax, word [edx]
jae 0x44566a
cmp byte [ebp - 0x12], bl
jne 0x44566a
mov esi, dword [ebp - 0x10]
lea eax, [esi + 4]
push eax
lea eax, [ebp - 0x19]
push eax
push dword [ebp - 0x28]
lea eax, [ebp - 8]
push dword [ebp + 0x20]
push eax
call fcn.0040dd90
add esp, 0x14
test al, al
jne 0x44565e
push ebx
push edi
push esi
jmp 0x445b91
cmp byte [ebp - 0x11], bl
je 0x445561
mov dword [ebp - 8], edi
jmp 0x445561
cmp ax, word [edx]
jae 0x445561
mov edx, dword [0x4663a4]
movzx eax, ax
mov ax, word [edx + eax*2]
mov edx, dword [ebp - 0xc]
mov word [edx + 6], ax
jmp 0x445564
mov edx, dword [ebp - 0xc]
cmp byte [ebp + 0x20], bl
je 0x44562b
cmp byte [edx + 4], bl
jne 0x445b8c
test byte [edx + 0xb], 1
jne 0x445b8c
cmp byte [edx + 8], bl
je 0x445b8c
cmp byte [ebp - 0x1a], bl
jne 0x445b8c
push ebx
jmp 0x444e85
lea eax, [edx + 6]
cmp word [eax], di
push ebx
je 0x445654
lea ecx, [ebp - 0x19]
push ecx
mov ecx, dword [ebp - 0xc]
add ecx, 0xb
push ecx
push 1
push eax
call fcn.0040dd90
add esp, 0x14
cmp byte [ebp - 0x19], bl
push ebx
je 0x44485d
push edi
push dword [ebp - 0x10]
push ebx
jmp 0x445b94
mov ecx, dword [0x4663a8]
mov esi, dword [0x466388]
mov eax, dword [ebp - 8]
mov dl, byte [0x465224]
and eax, edi
mov dword [ebp - 0x38], eax
mov eax, dword [0x465338]
cmp dword [ebp + 8], eax
jne 0x4456c8
test dl, 0x3f
jne 0x4456ae
test dl, 0x40
je 0x44569b
cmp byte [ecx + 0x6668], bl
jne 0x44569b
mov byte [0x466391], 1
test dl, dl
jns 0x4456ae
cmp byte [ecx + 0x6788], bl
jne 0x4456ae
mov byte [0x466390], 1
test dl, 4
je 0x4456e3
cmp byte [ecx + 0xb888], bl
jne 0x4456e3
cmp eax, ebx
je 0x44570a
mov byte [0x46638f], 1
jmp 0x44572a
test dl, 0xc
jne 0x4456ae
test dl, 0x40
je 0x44569b
cmp byte [ecx + 0x6668], bl
jne 0x44569b
mov byte [0x466391], 1
jmp 0x4456ae
test dl, 8
je 0x44572a
cmp byte [ecx + 0xb9a8], bl
jne 0x44572a
call fcn.0040f8a5
test al, al
jne 0x44571e
cmp dword [0x465338], ebx
je 0x44570a
mov byte [0x46638e], 1
jmp 0x44571e
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x11
push 2
call fcn.00410525
add esp, 0x18
mov dl, byte [0x465224]
mov esi, dword [0x466388]
movzx ecx, word [ebp - 0x38]
mov eax, 0x3ffa
cmp ecx, eax
je 0x44575d
jle 0x44574d
cmp ecx, 0x3ffc
jle 0x445769
cmp ecx, 0x3ffe
jle 0x4457eb
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x3c], eax
mov edi, 0xffc3d44d
jmp 0x4459db
cmp byte [0x46638d], bl
je 0x445b8c
test dl, 4
mov byte [ebp - 1], bl
je 0x445777
mov byte [ebp - 1], 0xa4
jmp 0x445780
test dl, 8
je 0x445780
mov byte [ebp - 1], 0xa5
cmp byte [0x46638d], bl
je 0x4458b3
cmp word [ebp - 0x38], 0x3ffb
je 0x4457eb
cmp byte [ebp - 1], bl
je 0x44579f
movzx eax, byte [ebp - 1]
jmp 0x4457a2
push 0x12
pop eax
mov esi, 0xffc3d44d
push esi
push ebx
push ebx
push ebx
push eax
push 1
call fcn.00410525
mov eax, dword [ebp - 0xc]
add esp, 0x18
cmp byte [eax + 4], bl
je 0x4457e0
cmp byte [ebp + 0x18], 0x5b
je 0x4457e0
cmp byte [ebp + 0x18], 0x5c
je 0x4457e0
cmp byte [ebp + 0x20], bl
jne 0x4457e0
push esi
push ebx
push ebx
push ebx
push dword [ebp + 0x18]
push 1
call fcn.00410525
add esp, 0x18
mov byte [0x46638d], bl
jmp 0x4459d0
cmp byte [0x46638d], bl
je 0x445b8c
cmp byte [ebp + 0x20], bl
jne 0x44582a
mov al, byte [ebp + 0x18]
cmp al, 0xa2
je 0x44580f
cmp al, 0xa3
je 0x44580f
cmp al, 0xa0
je 0x44580f
cmp al, 0xa1
jne 0x44582a
push 0xffc3d44d
push ebx
push ebx
push ebx
push dword [ebp + 0x18]
push 1
call fcn.00410525
mov dl, byte [0x465224]
add esp, 0x18
test dl, 0xc
je 0x445840
cmp byte [ebp + 0x20], bl
je 0x445859
cmp byte [ebp + 0x18], 0xa4
je 0x445840
cmp byte [ebp + 0x18], 0xa5
jne 0x445859
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x12
push ebx
call fcn.00410525
mov dl, byte [0x465224]
add esp, 0x18
cmp word [ebp - 0x38], 0x3ffd
mov byte [ebp - 0x12], bl
jne 0x445880
test dl, 0x30
jne 0x445880
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x10
push ebx
call fcn.00410525
add esp, 0x18
mov byte [ebp - 0x12], 1
mov edi, 0xffc3d44d
push edi
push ebx
push ebx
push ebx
push 9
push 2
call fcn.00410525
add esp, 0x18
cmp byte [ebp - 0x12], bl
je 0x4459d5
push edi
push ebx
push ebx
push ebx
push 0x10
push 1
call fcn.00410525
add esp, 0x18
jmp 0x4459d5
mov al, byte [ebp + 0x18]
cmp al, 0xa4
je 0x4458c1
cmp al, 0xa5
mov byte [ebp - 0x12], bl
jne 0x4458c5
mov byte [ebp - 0x12], 1
cmp al, 0xa0
je 0x4458d0
cmp al, 0xa1
mov byte [ebp - 2], bl
jne 0x4458d4
mov byte [ebp - 2], 1
cmp al, 0xa2
je 0x4458e0
cmp al, 0xa3
je 0x4458e0
xor al, al
jmp 0x4458e2
mov al, 1
test dl, 0x10
mov byte [ebp - 0x18], bl
je 0x4458f0
mov byte [ebp - 0x18], 0xa0
jmp 0x44590b
test dl, 0x20
je 0x4458fb
mov byte [ebp - 0x18], 0xa1
jmp 0x44590b
cmp byte [ebp + 0x20], bl
jne 0x44590b
cmp byte [ebp - 2], bl
je 0x44590b
mov cl, byte [ebp + 0x18]
mov byte [ebp - 0x18], cl
test dl, 1
mov byte [ebp - 0x30], bl
je 0x445919
mov byte [ebp - 0x30], 0xa2
jmp 0x445933
test dl, 2
je 0x445924
mov byte [ebp - 0x30], 0xa3
jmp 0x445933
cmp byte [ebp + 0x20], bl
jne 0x445933
cmp al, bl
je 0x445933
mov al, byte [ebp + 0x18]
mov byte [ebp - 0x30], al
cmp byte [ebp - 0x18], bl
mov byte [ebp - 0x1b], bl
je 0x445954
push 0xffc3d44d
push ebx
push ebx
push ebx
push dword [ebp - 0x18]
push 1
call fcn.00410525
add esp, 0x18
mov byte [ebp - 0x1b], 1
cmp byte [ebp - 0x30], bl
je 0x44596e
push 0xffc3d44d
push ebx
push ebx
push ebx
push dword [ebp - 0x30]
push 1
call fcn.00410525
add esp, 0x18
cmp byte [ebp - 0x12], bl
je 0x44597d
cmp byte [ebp + 0x20], bl
jne 0x445984
mov al, byte [ebp + 0x18]
jmp 0x445980
mov al, byte [ebp - 1]
cmp al, bl
jne 0x44599a
mov esi, 0xffc3d44d
push esi
push ebx
push ebx
push ebx
push 0x12
push ebx
call fcn.00410525
add esp, 0x18
jmp 0x44599f
mov esi, 0xffc3d44d
push esi
push ebx
push ebx
push ebx
push 9
push 2
call fcn.00410525
add esp, 0x18
cmp byte [ebp - 0x1b], bl
je 0x4459c9
cmp byte [ebp - 2], bl
jne 0x4459c9
push esi
push ebx
push ebx
push ebx
push dword [ebp - 0x18]
push ebx
call fcn.00410525
add esp, 0x18
mov byte [0x46638d], 1
mov edi, 0xffc3d44d
mov esi, dword [0x466388]
mov eax, dword [ebp - 0x10]
add eax, 4
cmp byte [ebp - 0x1a], bl
mov byte [eax], 0x68
mov eax, dword [ebp - 0xc]
je 0x445a46
cmp byte [ebp + 0x20], bl
je 0x445b0d
cmp byte [eax + 8], bl
je 0x445a46
push 0xffc3d44e
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push 1
call fcn.00410525
push edi
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push 2
call fcn.00410525
push ebx
push 0x7fffffff
push dword [ebp - 0x3c]
push dword [ebp - 0x10]
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 8]
call fcn.00446290
add esp, 0x54
jmp 0x445bae
cmp byte [ebp + 0x20], bl
je 0x445b0d
cmp byte [eax + 4], bl
je 0x445a74
cmp byte [eax + 0x10], bl
je 0x445a6d
push ebx
push 0x7fffffff
push dword [ebp - 0x3c]
push dword [ebp - 0x10]
push dword [ebp + 0x20]
jmp 0x444867
push 1
jmp 0x445b2a
cmp byte [ebp - 0x19], bl
jne 0x445a85
mov ecx, dword [ebp - 0x28]
test byte [ecx], 1
je 0x445b6e
mov esi, dword [ebp + 8]
cmp esi, dword [0x46533c]
je 0x445aee
mov ecx, dword [eax]
cmp ecx, ebx
je 0x445a9f
cmp dword [ecx], 7
mov byte [ebp + 0xb], 1
jne 0x445aa2
mov byte [ebp + 0xb], bl
cmp byte [eax + 0x10], bl
je 0x445ac3
cmp byte [ebp - 0x31], bl
jne 0x445ac3
cmp byte [ebp + 0xb], bl
jne 0x445ac8
push edi
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push ebx
call fcn.00410525
add esp, 0x18
cmp byte [ebp + 0xb], bl
je 0x445aee
push ebx
push 0x7fffffff
push dword [ebp - 0x3c]
push dword [ebp - 0x10]
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push esi
call fcn.00446290
add esp, 0x24
jmp 0x445bae
push ebx
push dword [ebp - 0x3c]
push dword [ebp - 0x10]
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push esi
jmp 0x445ba6
cmp esi, ebx
mov byte [eax + 0xf], 1
je 0x445b1e
cmp byte [esi + 4], bl
je 0x445b1e
mov byte [esi + 0x11], 2
cmp byte [ebp - 0x19], bl
je 0x445b2f
mov eax, dword [ebp - 0x28]
or byte [eax], 8
push ebx
push dword [ebp - 0x3c]
jmp 0x445b8e
cmp byte [ebp + 0x18], 0xa4
je 0x445b3b
cmp byte [ebp + 0x18], 0xa5
jne 0x445b6e
mov al, byte [0x465224]
test al, 0xc0
je 0x445b58
test al, 0x33
jne 0x445b58
push edi
push ebx
push ebx
push ebx
push 0x11
push 2
call fcn.00410525
add esp, 0x18
push edi
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push 1
call fcn.00410525
mov eax, dword [ebp - 0xc]
add esp, 0x18
cmp byte [ebp + 0x20], bl
jne 0x445a59
mov byte [eax + 0x10], 1
jmp 0x445a59
cmp byte [ebp + 0x20], bl
sete al
mov byte [esi + 0xc], al
mov byte [esi + 0xf], bl
push ebx
push edi
push dword [ebp - 0x10]
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00443511
add esp, 0x28
pop edi
pop esi
pop ebx
leave
ret