Function at 0x444578
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xac
push ebx
push esi
push edi
push dword [ebp + 0x24]
mov edi, 0x3fff
mov dword [ebp - 0x30], edi
call fcn.004444ba
mov byte [ebp - 0x11], al
mov eax, dword [0x463d8c]
xor ebx, ebx
cmp eax, ebx
pop ecx
jne 0x4445b1
lea eax, [ebp - 0xac]
mov dword [ebp - 0x10], eax
jmp 0x44465f
mov ecx, dword [0x463d90]
mov esi, ecx
imul esi, esi, 0x70
add esi, eax
inc ecx
cmp ecx, dword [0x46106c]
mov dword [ebp - 0x10], esi
mov dword [0x463d90], ecx
jl 0x4445d6
mov dword [0x463d90], 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 [0x463d94], eax
sub eax, dword [0x4644b0]
test eax, eax
mov dword [ebp - 0x3c], eax
fild dword [ebp - 0x3c]
jge 0x444602
fadd dword [0x457a94]
fmul dword [0x457a90]
fstp dword [esi + 8]
mov eax, dword [0x463d94]
mov dword [0x4644b0], eax
call dword [sym.imp.USER32.dll_GetForegroundWindow]
cmp eax, ebx
mov dword [ebp - 0x24], eax
je 0x444647
cmp eax, dword [0x463d98]
je 0x444642
push eax
add esi, 0xc
push esi
push 0x418
push dword [0x463360]
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x444657
mov byte [esi + 0xc], bl
jmp 0x444657
add esi, 0xc
push 0x457a8c
push esi
call fcn.004538d0
pop ecx
pop ecx
mov eax, dword [ebp - 0x24]
mov dword [0x463d98], eax
cmp byte [ebp + 0x18], 0x9e
mov eax, dword [ebp - 0x10]
mov cx, word [ebp + 0x1c]
mov word [eax + 2], cx
je 0x444676
cmp byte [ebp + 0x18], 0x9f
jne 0x444679
mov dword [ebp + 0x1c], ebx
mov eax, dword [ebp + 8]
cmp eax, dword [0x463494]
jne 0x4446ac
mov al, byte [ebp + 0x28]
and al, 1
jne 0x44486f
cmp byte [ebp + 0x20], bl
movzx edx, byte [ebp + 0x18]
setne cl
dec cl
and ecx, 0x80
mov byte [edx + 0x463380], cl
jmp 0x44486f
mov eax, dword [ebp + 0x28]
shr eax, 4
and al, 1
test byte [ebp + 0x1d], 1
mov byte [ebp - 2], al
jne 0x44471c
push 0x90
call dword [sym.imp.USER32.dll_GetKeyState]
test al, 1
je 0x44471c
movzx eax, byte [ebp + 0x18]
cmp eax, 0x60
jg 0x4447a8
je 0x444798
cmp eax, 0x25
jg 0x444777
je 0x4447d4
sub eax, 0xc
je 0x4447c4
sub eax, 0x15
je 0x44484c
dec eax
je 0x4447e4
dec eax
je 0x444804
dec eax
jne 0x44471c
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x4644c0], al
movzx esi, byte [ebp + 0x18]
mov ecx, dword [0x464500]
lea eax, [esi + esi*8]
shl eax, 5
cmp byte [eax + ecx + 4], bl
jne 0x444764
push dword [ebp + 0x20]
push dword [ebp + 0x18]
push dword [ebp + 0x28]
call fcn.004444f9
add esp, 0xc
test al, al
je 0x44486c
cmp byte [ebp + 0x20], bl
mov ecx, dword [0x464500]
setne al
dec al
and eax, 0x80
mov byte [esi + 0x463380], al
mov al, byte [ebp - 2]
cmp byte [ebp - 0x11], bl
je 0x44487a
mov al, 0x69
jmp 0x444885
sub eax, 0x26
je 0x44485c
dec eax
je 0x444814
dec eax
je 0x4447f4
sub eax, 5
je 0x444798
dec eax
je 0x44483c
jmp 0x44471c
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x4644b9], al
jmp 0x44471c
cmp eax, 0x66
jg 0x444824
je 0x444814
sub eax, 0x61
je 0x444804
dec eax
je 0x4447f4
dec eax
je 0x4447e4
dec eax
je 0x4447d4
dec eax
jne 0x44471c
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x4644be], al
jmp 0x44471c
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x4644bd], al
jmp 0x44471c
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x4644bc], al
jmp 0x44471c
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x4644bb], al
jmp 0x44471c
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x4644ba], al
jmp 0x44471c
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x4644bf], al
jmp 0x44471c
sub eax, 0x67
je 0x444711
dec eax
je 0x44485c
dec eax
je 0x44484c
sub eax, 5
jne 0x44471c
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x4644b8], al
jmp 0x44471c
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x4644c2], al
jmp 0x44471c
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x4644c1], al
jmp 0x44471c
mov al, byte [ebp - 2]
mov ecx, dword [0x464500]
jmp 0x444767
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 [0x463480], bl
je 0x4448c2
cmp byte [ebp + 0x18], 0x5b
je 0x4448a1
cmp byte [ebp + 0x18], 0x5c
jne 0x4448c2
cmp byte [ebp + 0x20], bl
jne 0x4448c2
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 0x445b12
cmp byte [0x4644e5], bl
je 0x444945
cmp byte [ebp + 0x18], 0x1b
jne 0x444945
cmp byte [ebp + 0x20], bl
jne 0x444945
push ebx
push str.32771
call dword [sym.imp.USER32.dll_FindWindowA]
cmp eax, ebx
je 0x44493f
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 0x44493f
mov esi, 0xffc3d44d
push esi
push ebx
push ebx
push ebx
push 0x1b
push ebx
call fcn.00410f1f
xor eax, eax
mov al, byte [0x46337c]
shr al, 3
push esi
push ebx
push ebx
push ebx
and eax, 0xffffff01
or eax, 0xa4
push eax
push 1
call fcn.00410f1f
push ebx
push 0x7fffffff
push edi
push dword [ebp - 0x10]
push ebx
push dword [ebp + 0x1c]
push 0x1b
jmp 0x445a64
mov ecx, dword [0x464500]
movzx eax, word [ebp + 0x1c]
mov edx, dword [0x464504]
lea eax, [eax + eax*8]
shl eax, 5
lea esi, [eax + edx]
mov edx, dword [ebp + 8]
cmp edx, dword [0x463490]
mov al, byte [esi + 0x12]
mov byte [ebp - 0x28], al
jne 0x44496d
cmp al, bl
jne 0x444979
movzx esi, byte [ebp + 0x18]
lea esi, [esi + esi*8]
shl esi, 5
add esi, ecx
cmp byte [ebp - 0x11], bl
mov dword [ebp - 8], esi
je 0x4449b1
cmp dword [ebp + 0x24], 0xffc3d44e
jne 0x445bbd
cmp byte [ebp + 0x20], bl
je 0x445bbd
cmp dword [0x4644e0], esi
jne 0x445bbd
mov byte [esi + 0xc], bl
mov dword [0x4644e0], ebx
jmp 0x445bba
cmp byte [ebp + 0x20], bl
jne 0x4449bd
mov byte [esi + 0x10], bl
mov word [esi + 6], di
mov eax, dword [0x463490]
cmp dword [ebp + 8], eax
jne 0x444a65
cmp byte [ebp + 0x20], bl
je 0x444abd
cmp byte [0x4644e9], bl
je 0x4449e2
cmp byte [ebp + 0x18], 0x5b
je 0x444a14
cmp byte [0x4644e8], bl
je 0x4449f0
cmp byte [ebp + 0x18], 0x5c
je 0x444a14
cmp byte [0x4644e7], bl
je 0x4449fe
cmp byte [ebp + 0x18], 0xa4
je 0x444a14
cmp byte [0x4644e6], bl
je 0x444abd
cmp byte [ebp + 0x18], 0xa5
jne 0x444abd
movzx eax, byte [ebp + 0x18]
sub eax, 0x5b
je 0x444a40
dec eax
je 0x444a38
sub eax, 0x48
je 0x444a30
dec eax
jne 0x444a46
mov byte [0x4644e6], bl
jmp 0x444a46
mov byte [0x4644e7], bl
jmp 0x444a46
mov byte [0x4644e8], bl
jmp 0x444a46
mov byte [0x4644e9], bl
test byte [0x46337c], 3
jne 0x444abd
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x11
push 2
call fcn.00410f1f
add esp, 0x18
jmp 0x444ab7
cmp byte [ebp + 0x18], bl
jne 0x444a7b
push ebx
push edi
push dword [ebp - 0x10]
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push ebx
jmp 0x445bcb
cmp byte [ebp + 0x18], 1
je 0x444a87
cmp byte [ebp + 0x18], 2
jne 0x444abd
cmp dword [0x4634c8], ebx
jne 0x445bb1
push ebx
push str.32768
call dword [sym.imp.USER32.dll_FindWindowA]
cmp eax, ebx
je 0x444ab7
push ebx
push eax
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
cmp eax, dword [0x463d9c]
je 0x445bb1
mov ecx, dword [0x464500]
mov esi, dword [0x4644e0]
cmp esi, ebx
mov eax, dword [ebp - 8]
je 0x444af4
cmp esi, eax
je 0x444af4
cmp byte [ebp + 0x20], bl
jne 0x444af4
mov edx, dword [0x463490]
cmp dword [ebp + 8], edx
jne 0x444ae8
xor edx, edx
cmp byte [eax + 4], bl
sete dl
jmp 0x444aec
movzx edx, byte [esi + 4]
cmp edx, ebx
je 0x444af4
mov byte [esi + 0x11], 1
cmp byte [eax + 8], bl
jne 0x444b02
cmp byte [eax + 9], bl
je 0x445bbd
cmp byte [ebp + 0x20], bl
mov byte [ebp - 0x2a], bl
mov dword [ebp - 0xc], edi
mov byte [ebp - 0x12], bl
je 0x444b38
mov dl, byte [eax + 0xc]
mov byte [ebp - 0x13], dl
mov dl, byte [eax + 0xf]
mov byte [ebp - 0x29], dl
xor edx, edx
mov dx, word [eax + 6]
cmp dx, di
mov byte [eax + 0xf], bl
je 0x444b35
mov dword [ebp - 0xc], edx
mov byte [ebp - 0x2a], 1
mov word [eax + 6], di
cmp byte [ebp + 0x20], bl
sete dl
mov byte [eax + 0xc], dl
mov edx, dword [0x463490]
cmp dword [ebp + 8], edx
mov byte [ebp - 2], bl
jne 0x444bae
cmp byte [eax + 4], bl
je 0x444bd7
cmp byte [ecx + 0xb64c], bl
jne 0x444b69
cmp byte [ecx + 0xb76c], bl
jne 0x444b69
xor edx, edx
jmp 0x444b6c
xor edx, edx
inc edx
cmp byte [ecx + 0xb88c], bl
mov byte [ecx + 0x132c], dl
jne 0x444b86
cmp byte [ecx + 0xb9ac], bl
jne 0x444b86
xor edx, edx
jmp 0x444b89
xor edx, edx
inc edx
cmp byte [ecx + 0xb40c], bl
mov byte [ecx + 0x144c], dl
jne 0x444ba3
cmp byte [ecx + 0xb52c], bl
jne 0x444ba3
xor edx, edx
jmp 0x444ba6
xor edx, edx
inc edx
mov byte [ecx + 0x120c], dl
jmp 0x444bd7
cmp edx, ebx
jne 0x444bd7
push 1
call fcn.00410780
mov esi, dword [0x4644e0]
pop ecx
mov ecx, dword [0x464500]
mov byte [0x46337d], al
mov byte [0x46337c], al
mov eax, dword [ebp - 8]
mov byte [ebp - 2], 1
mov edx, dword [eax]
cmp edx, ebx
je 0x444be6
cmp dword [edx], 7
mov byte [ebp - 0x11], 1
je 0x444be9
mov byte [ebp - 0x11], bl
mov dl, byte [eax + 8]
cmp dl, bl
je 0x444d48
cmp byte [ebp + 0x20], bl
jne 0x444d48
cmp esi, ebx
je 0x444c0e
cmp byte [eax + 9], bl
je 0x444c0e
cmp eax, esi
jne 0x444d48
cmp dl, 1
jne 0x444c44
cmp byte [ebp - 0x28], bl
movzx eax, word [ebp + 0x1c]
jne 0x444c20
movzx eax, byte [ebp + 0x18]
push dword [ebp - 0x28]
push eax
call fcn.0040fa81
test al, al
mov esi, dword [0x4644e0]
pop ecx
pop ecx
mov ecx, dword [0x464500]
je 0x444c44
mov eax, dword [ebp - 8]
mov byte [ebp - 1], 1
jmp 0x444c59
mov eax, dword [ebp - 8]
cmp eax, esi
mov byte [ebp - 1], bl
je 0x444c59
mov esi, eax
mov dword [0x4644e0], esi
mov byte [eax + 0x11], bl
cmp byte [eax + 9], bl
je 0x444d0e
cmp byte [ebp - 2], bl
jne 0x444c82
push 1
mov byte [ebp - 2], 1
call fcn.00410780
mov esi, dword [0x4644e0]
mov eax, dword [ebp - 8]
pop ecx
mov ecx, dword [0x464500]
mov al, byte [eax + 4]
cmp al, bl
mov dl, byte [0x46337d]
je 0x444c96
not al
mov byte [ebp - 0x15], al
and dl, al
cmp dl, bl
jne 0x444c9f
cmp byte [ebp - 1], bl
je 0x444d0e
mov eax, dword [ebp + 8]
cmp eax, dword [0x463490]
jne 0x444cc6
cmp byte [ebp - 0x28], bl
je 0x444cc6
movzx eax, word [ebp + 0x1c]
movzx edx, dl
shl edx, 8
add edx, eax
mov eax, dword [0x4644f8]
movzx eax, word [eax + edx*2]
jmp 0x444cdc
movzx eax, dl
movzx edx, byte [ebp + 0x18]
shl eax, 8
add eax, edx
mov edx, dword [0x4644f4]
movzx eax, word [edx + eax*2]
test ah, 0x40
mov dword [ebp - 0xc], eax
je 0x444ced
mov ecx, dword [ebp - 8]
mov word [ecx + 6], ax
jmp 0x444d17
mov edx, dword [0x4621d0]
and eax, edi
cmp ax, word [edx]
jae 0x444d0e
mov edx, dword [0x4644fc]
movzx eax, ax
mov ax, word [edx + eax*2]
mov edx, dword [ebp - 8]
mov word [edx + 6], ax
cmp word [ebp - 0xc], di
jne 0x444d48
mov ecx, dword [ebp - 8]
cmp byte [ebp - 1], bl
je 0x444d29
or byte [ecx + 0xb], 8
mov eax, dword [ebp - 0x10]
add eax, 4
mov byte [eax], 0x23
cmp byte [ecx + 4], bl
jne 0x444d42
test byte [ecx + 0xb], 1
jne 0x444d42
cmp byte [ebp - 0x11], bl
jne 0x444d42
cmp byte [ebp - 1], bl
je 0x4448a6
push ebx
jmp 0x44568d
mov edx, dword [ebp - 8]
cmp byte [edx + 9], bl
mov byte [ebp - 0x15], bl
je 0x444d9a
cmp byte [ebp + 0x20], bl
je 0x444d9a
cmp esi, edx
jne 0x444d69
cmp byte [ebp - 0x29], bl
je 0x444d9a
xor esi, esi
mov dword [0x4644e0], esi
cmp byte [edx + 0xa], bl
jne 0x444d96
mov al, byte [edx + 0xb]
test al, 8
je 0x444d7e
xor cl, cl
and al, 0xf7
mov byte [edx + 0xb], al
jmp 0x444d80
mov cl, 1
cmp byte [ebp - 0x29], bl
je 0x445bbd
cmp cl, bl
je 0x445bbd
jmp 0x44565d
mov byte [ebp - 0x15], 1
cmp byte [edx + 8], bl
je 0x444ed5
cmp byte [ebp + 0x20], bl
je 0x444ed5
cmp esi, edx
jne 0x444db8
xor esi, esi
mov dword [0x4644e0], esi
cmp byte [edx + 0xd], bl
je 0x444de6
mov eax, dword [ebp - 8]
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x12
push 1
mov byte [eax + 0xd], bl
call fcn.00410f1f
mov ecx, dword [0x464500]
mov esi, dword [0x4644e0]
mov edx, dword [ebp - 8]
add esp, 0x18
cmp byte [edx + 0xe], bl
je 0x444e14
mov eax, dword [ebp - 8]
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x10
push 1
mov byte [eax + 0xe], bl
call fcn.00410f1f
mov ecx, dword [0x464500]
mov esi, dword [0x4644e0]
mov edx, dword [ebp - 8]
add esp, 0x18
cmp word [ebp - 0xc], di
jne 0x444e2e
mov al, byte [edx + 0xb]
test al, 8
je 0x444e2e
mov ecx, dword [ebp - 8]
and al, 0xf7
mov byte [ecx + 0xb], al
jmp 0x445bbd
cmp byte [ebp - 0x11], bl
mov al, byte [edx + 0x11]
je 0x444e93
cmp al, 2
jne 0x444e6e
push 0xffc3d44e
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push 1
call fcn.00410f1f
push 0xffc3d44d
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push 2
call fcn.00410f1f
push ebx
push 0x7fffffff
push edi
jmp 0x445a58
cmp al, 1
je 0x445bbd
cmp byte [edx + 9], bl
jne 0x444ec7
cmp byte [edx + 4], bl
jne 0x445bbd
test byte [edx + 0xb], 1
jne 0x445bbd
jmp 0x445654
cmp al, bl
je 0x444e76
cmp word [ebp - 0xc], di
jne 0x444e76
cmp byte [edx + 4], bl
je 0x444eb1
cmp al, 2
jne 0x445bbd
push 1
jmp 0x445bbe
test byte [edx + 0xb], 1
push ebx
jne 0x445bbe
push 0x7fffffff
push edi
jmp 0x445a93
cmp byte [ebp - 0x13], bl
jne 0x444ed5
cmp byte [edx + 0xa], bl
je 0x445bbd
cmp byte [ebp - 2], bl
jne 0x444ef7
cmp word [ebp - 0xc], di
jne 0x444ef7
push 1
call fcn.00410780
mov esi, dword [0x4644e0]
mov edx, dword [ebp - 8]
pop ecx
mov ecx, dword [0x464500]
cmp esi, ebx
mov byte [ebp - 0x14], bl
je 0x445475
cmp byte [ebp + 0x20], bl
je 0x444f10
cmp byte [edx + 0xa], bl
je 0x445475
cmp word [ebp - 0xc], di
jne 0x4455a5
cmp byte [edx + 0x13], bl
mov dword [ebp - 0x20], ebx
jbe 0x444ff6
lea eax, [edx + 0x16]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov al, byte [eax]
mov byte [ebp - 0x13], al
movzx eax, al
lea eax, [eax + eax*8]
shl eax, 5
cmp byte [eax + ecx + 0xc], bl
je 0x444f74
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 2]
test ah, 0x40
mov dword [ebp - 0x24], eax
je 0x444f63
cmp byte [ebp + 0x20], bl
jne 0x444f89
cmp word [ebp - 0xc], di
mov word [edx + 6], ax
jne 0x444fa2
jmp 0x444f74
cmp byte [ebp + 0x20], bl
jne 0x444f74
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0xc], eax
mov al, byte [ebp - 0x13]
mov byte [ebp - 1], al
movzx eax, byte [edx + 0x13]
inc dword [ebp - 0x20]
add dword [ebp - 0x1c], 4
cmp dword [ebp - 0x20], eax
mov edx, dword [ebp - 8]
jl 0x444f2c
jmp 0x444f9c
mov eax, dword [ebp - 0x1c]
mov ax, word [eax + 2]
mov word [ebp - 0xc], ax
mov eax, dword [ebp - 0x1c]
mov al, byte [eax]
mov byte [ebp - 1], al
cmp word [ebp - 0xc], di
je 0x444ff6
movzx esi, byte [ebp - 1]
mov eax, esi
sub eax, 0x10
je 0x444fd7
dec eax
je 0x444fc5
dec eax
jne 0x444fe9
xor eax, eax
cmp byte [ecx + 0xb9ac], bl
setne al
add eax, 0xa4
jmp 0x444fe7
xor eax, eax
cmp byte [ecx + 0xb76c], bl
setne al
add eax, 0xa2
jmp 0x444fe7
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 0x44508e
cmp byte [edx + 0x14], bl
mov dword [ebp - 0x20], ebx
jbe 0x44509e
add edx, 0xde
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax]
mov edx, dword [0x464504]
lea eax, [eax + eax*8]
shl eax, 5
cmp byte [eax + edx + 0xc], bl
je 0x445051
mov edx, dword [ebp - 0x1c]
mov ax, word [edx + 2]
test ah, 0x40
je 0x445043
cmp byte [ebp + 0x20], bl
jne 0x445066
cmp word [ebp - 0xc], di
mov edx, dword [ebp - 8]
mov word [edx + 6], ax
jne 0x44507e
jmp 0x445054
cmp byte [ebp + 0x20], bl
jne 0x445051
movzx edx, word [edx]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x34], edx
mov edx, dword [ebp - 8]
movzx eax, byte [edx + 0x14]
inc dword [ebp - 0x20]
add dword [ebp - 0x1c], 4
cmp dword [ebp - 0x20], eax
jl 0x44500b
jmp 0x445075
mov ax, word [edx + 2]
mov word [ebp - 0xc], ax
mov ax, word [edx]
mov word [ebp - 0x34], ax
cmp word [ebp - 0xc], di
mov edx, dword [ebp - 8]
je 0x44509e
movzx esi, word [ebp - 0x34]
lea esi, [esi + esi*8]
shl esi, 5
add esi, dword [0x464504]
cmp word [ebp - 0xc], di
mov dword [0x4644e0], esi
jne 0x44525f
cmp byte [ebp + 0x18], 0xa0
jb 0x44525f
cmp byte [ebp + 0x18], 0xa1
jbe 0x4450c6
cmp byte [ebp + 0x18], 0xa3
jbe 0x4450c2
cmp byte [ebp + 0x18], 0xa5
ja 0x44525f
mov al, 0x12
jmp 0x4450c8
mov al, 0x11
jmp 0x4450c8
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 0x445159
mov eax, dword [ebp - 0x24]
add eax, 0x16
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov al, byte [eax]
mov byte [ebp - 0x13], al
movzx eax, al
lea eax, [eax + eax*8]
shl eax, 5
cmp byte [eax + ecx + 0xc], bl
je 0x445132
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 2]
test ah, 0x40
mov dword [ebp - 0x3c], eax
je 0x445124
cmp byte [ebp + 0x20], bl
jne 0x445146
cmp word [ebp - 0xc], di
mov word [edx + 6], ax
jne 0x44515f
jmp 0x445132
cmp byte [ebp + 0x20], bl
jne 0x445132
mov dword [ebp - 0xc], eax
mov al, byte [ebp - 0x13]
mov byte [ebp - 1], al
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
add dword [ebp - 0x1c], 4
cmp eax, dword [ebp - 0x38]
mov edx, dword [ebp - 8]
jl 0x4450ed
jmp 0x445159
mov eax, dword [ebp - 0x1c]
mov ax, word [eax + 2]
mov word [ebp - 0xc], ax
mov eax, dword [ebp - 0x1c]
mov al, byte [eax]
mov byte [ebp - 1], al
cmp word [ebp - 0xc], di
je 0x4451b3
movzx esi, byte [ebp - 1]
mov eax, esi
sub eax, 0x10
je 0x4451a1
dec eax
je 0x445182
dec eax
jne 0x445194
xor eax, eax
cmp byte [ecx + 0xb9ac], bl
setne al
add eax, 0xa4
jmp 0x445192
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 0x445259
xor eax, eax
cmp byte [ecx + 0xb52c], bl
setne al
add eax, 0xa0
jmp 0x445192
mov eax, dword [ebp - 0x24]
movzx eax, byte [eax + 0x14]
cmp eax, ebx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x20], ebx
jle 0x44525f
mov eax, dword [ebp - 0x24]
add eax, 0xde
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax]
mov edx, dword [0x464504]
lea eax, [eax + eax*8]
shl eax, 5
cmp byte [eax + edx + 0xc], bl
mov edx, dword [ebp - 0x1c]
je 0x44521e
mov ax, word [edx + 2]
test ah, 0x40
je 0x44520e
cmp byte [ebp + 0x20], bl
jne 0x445231
cmp word [ebp - 0xc], di
mov edx, dword [ebp - 8]
mov word [edx + 6], ax
jne 0x445249
mov edx, dword [ebp - 0x1c]
jmp 0x44521e
cmp byte [ebp + 0x20], bl
jne 0x44521e
mov dword [ebp - 0xc], eax
xor eax, eax
mov ax, word [edx]
mov dword [ebp - 0x34], eax
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
add edx, 4
cmp eax, dword [ebp - 0x38]
mov dword [ebp - 0x1c], edx
jl 0x4451d3
jmp 0x445240
mov ax, word [edx + 2]
mov word [ebp - 0xc], ax
mov ax, word [edx]
mov word [ebp - 0x34], ax
cmp word [ebp - 0xc], di
mov edx, dword [ebp - 8]
je 0x44525f
movzx esi, word [ebp - 0x34]
lea esi, [esi + esi*8]
shl esi, 5
add esi, dword [0x464504]
mov dword [0x4644e0], esi
mov eax, dword [ebp - 0xc]
and eax, edi
cmp word [ebp - 0xc], di
mov dword [ebp - 0x20], eax
je 0x4452b9
mov edx, dword [0x4621d0]
cmp ax, word [edx]
jae 0x4452af
mov esi, dword [ebp - 0x10]
lea eax, [esi + 4]
push eax
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebp - 8]
add eax, 0xb
push eax
push dword [ebp + 0x20]
push dword [ebp - 0xc]
call fcn.0040e854
add esp, 0x14
cmp al, bl
mov byte [ebp - 0x12], al
je 0x445600
mov ecx, dword [0x464500]
mov esi, dword [0x4644e0]
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 8]
mov byte [esi + 0x11], 2
cmp ax, 0x3ffe
je 0x4452c9
cmp ax, 0x3ffd
jne 0x445475
cmp byte [ebp + 0x20], bl
jne 0x4452d2
mov byte [edx + 0xf], 1
test byte [0x46337c], 0xc
jne 0x4452f7
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x12
push ebx
call fcn.00410f1f
mov esi, dword [0x4644e0]
mov eax, dword [ebp - 0x20]
add esp, 0x18
cmp byte [ebp + 0x18], 0xa2
je 0x445303
cmp byte [ebp + 0x18], 0xa3
jne 0x445328
cmp byte [ebp + 0x20], bl
jne 0x445328
push 0xffc3d44d
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push 1
call fcn.00410f1f
mov esi, dword [0x4644e0]
mov eax, dword [ebp - 0x20]
add esp, 0x18
cmp ax, 0x3ffd
mov byte [esi + 0xd], 1
jne 0x44535a
test byte [0x46337c], 0x30
jne 0x445354
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x10
push ebx
call fcn.00410f1f
mov esi, dword [0x4644e0]
add esp, 0x18
mov byte [esi + 0xe], 1
jmp 0x4453c8
cmp ax, 0x3ffe
jne 0x4453c8
cmp byte [ebp + 0x18], 0xa0
je 0x44536c
cmp byte [ebp + 0x18], 0xa1
jne 0x445388
cmp byte [ebp + 0x20], bl
jne 0x445388
push 0xffc3d44d
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push 1
call fcn.00410f1f
add esp, 0x18
test byte [0x46337c], 0x10
je 0x4453a8
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0xa0
push 1
call fcn.00410f1f
add esp, 0x18
test byte [0x46337c], 0x20
je 0x4453c8
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0xa1
push 1
call fcn.00410f1f
add esp, 0x18
test byte [0x46337c], 1
je 0x4453e8
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0xa2
push 1
call fcn.00410f1f
add esp, 0x18
test byte [0x46337c], 2
mov esi, 0xffc3d44d
je 0x445409
push esi
push ebx
push ebx
push ebx
push 0xa3
push 1
call fcn.00410f1f
add esp, 0x18
push esi
push ebx
push ebx
push ebx
push 9
push 2
call fcn.00410f1f
add esp, 0x18
cmp word [ebp - 0x20], 0x3ffd
jne 0x445455
mov eax, dword [0x4644e0]
cmp byte [eax + 0xe], bl
je 0x445455
cmp byte [ebp + 0x18], 0x60
jb 0x445437
cmp byte [ebp + 0x18], 0x69
jbe 0x44543d
cmp byte [ebp + 0x18], 0x6e
jne 0x445455
push esi
push ebx
push ebx
push ebx
push 0x10
push 1
call fcn.00410f1f
mov eax, dword [0x4644e0]
add esp, 0x18
mov byte [eax + 0xe], bl
cmp byte [ebp + 0x20], bl
mov eax, dword [ebp - 0x10]
mov byte [eax + 4], 0x68
jne 0x445468
mov ecx, dword [ebp - 8]
mov byte [ecx + 0x10], 1
push ebx
push 0x7fffffff
push edi
push eax
jmp 0x445a96
cmp word [ebp - 0xc], di
jne 0x4455a5
mov dl, byte [edx + 4]
cmp dl, bl
mov al, byte [0x46337d]
mov byte [ebp - 1], al
mov byte [ebp - 0x13], dl
je 0x445496
not dl
and byte [ebp - 1], dl
mov eax, dword [0x463490]
cmp dword [ebp + 8], eax
jne 0x4454bd
cmp byte [ebp - 0x28], bl
je 0x4454bd
movzx edx, byte [ebp - 1]
movzx eax, word [ebp + 0x1c]
shl edx, 8
add edx, eax
mov eax, dword [0x4644f8]
mov ax, word [eax + edx*2]
jmp 0x4454d4
movzx eax, byte [ebp - 1]
movzx edx, byte [ebp + 0x18]
shl eax, 8
add eax, edx
mov edx, dword [0x4644f4]
mov ax, word [edx + eax*2]
cmp ax, di
mov word [ebp - 0xc], ax
jne 0x445544
cmp byte [0x4644e5], bl
je 0x445544
cmp byte [ebp + 0x18], 9
je 0x445544
mov eax, dword [0x463490]
and byte [ebp - 1], 0xf3
cmp dword [ebp + 8], eax
jne 0x445516
cmp byte [ebp - 0x28], bl
je 0x445516
movzx edx, byte [ebp - 1]
movzx eax, word [ebp + 0x1c]
shl edx, 8
add edx, eax
mov eax, dword [0x4644f8]
mov ax, word [eax + edx*2]
jmp 0x44552d
movzx eax, byte [ebp - 1]
movzx edx, byte [ebp + 0x18]
shl eax, 8
add eax, edx
mov edx, dword [0x4644f4]
mov ax, word [edx + eax*2]
mov word [ebp - 0xc], ax
mov eax, dword [ebp - 0xc]
and eax, edi
cmp ax, 0x3ff9
jbe 0x445541
cmp ax, di
jb 0x445544
mov dword [ebp - 0xc], edi
mov eax, dword [ebp - 0xc]
test ah, 0x40
je 0x44555d
cmp byte [ebp + 0x20], bl
mov edx, dword [ebp - 8]
jne 0x44559b
mov word [edx + 6], ax
mov dword [ebp - 0xc], edi
jmp 0x44559b
cmp ax, di
je 0x445630
mov eax, dword [ebp - 0xc]
mov edx, dword [0x4621d0]
and eax, edi
cmp byte [ebp + 0x20], bl
je 0x445612
cmp ax, word [edx]
jae 0x445608
mov edx, dword [0x4644fc]
movzx eax, ax
movzx eax, word [edx + eax*2]
cmp ax, di
je 0x445608
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 8]
cmp word [ebp - 0xc], di
je 0x445633
lea eax, [edx + 0xb]
test byte [eax], 8
mov dword [ebp - 0x24], eax
je 0x4455bc
cmp byte [ebp + 0x20], bl
je 0x4455bc
mov byte [ebp - 0x14], 1
and byte [eax], 0xf7
mov eax, dword [ebp - 0xc]
mov edx, dword [0x4621d0]
and eax, edi
cmp ax, word [edx]
mov dword [ebp - 0x20], eax
jae 0x4456a3
cmp byte [ebp - 0x12], bl
jne 0x4456a3
mov esi, dword [ebp - 0x10]
lea eax, [esi + 4]
push eax
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 0x24]
push dword [ebp + 0x20]
push dword [ebp - 0xc]
call fcn.0040e854
add esp, 0x14
test al, al
jne 0x445697
push ebx
push edi
push esi
jmp 0x445bc2
cmp byte [ebp - 0x15], bl
je 0x445598
mov dword [ebp - 0xc], edi
jmp 0x445598
cmp ax, word [edx]
jae 0x445598
mov edx, dword [0x4644fc]
movzx eax, ax
mov ax, word [edx + eax*2]
mov edx, dword [ebp - 8]
mov word [edx + 6], ax
jmp 0x44559b
mov edx, dword [ebp - 8]
cmp byte [ebp + 0x20], bl
je 0x445663
cmp byte [ebp - 0x13], bl
jne 0x445bbd
test byte [edx + 0xb], 1
jne 0x445bbd
cmp byte [edx + 8], bl
je 0x445bbd
cmp byte [ebp - 0x11], bl
jne 0x445bbd
push ebx
jmp 0x444ebc
mov dx, word [edx + 6]
cmp dx, di
push ebx
je 0x44568d
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebp - 8]
add eax, 0xb
push eax
push 1
push edx
call fcn.0040e854
add esp, 0x14
cmp byte [ebp - 0x14], bl
push ebx
je 0x4448a7
push edi
push dword [ebp - 0x10]
push ebx
jmp 0x445bc5
mov ecx, dword [0x464500]
mov esi, dword [0x4644e0]
mov eax, dword [0x463490]
cmp dword [ebp + 8], eax
mov dl, byte [0x46337c]
jne 0x4456f9
test dl, 0x3f
jne 0x4456df
test dl, 0x40
je 0x4456cc
cmp byte [ecx + 0x6668], bl
jne 0x4456cc
mov byte [0x4644e9], 1
test dl, dl
jns 0x4456df
cmp byte [ecx + 0x6788], bl
jne 0x4456df
mov byte [0x4644e8], 1
test dl, 4
je 0x445714
cmp byte [ecx + 0xb888], bl
jne 0x445714
cmp eax, ebx
je 0x44573b
mov byte [0x4644e7], 1
jmp 0x44575b
test dl, 0xc
jne 0x4456df
test dl, 0x40
je 0x4456cc
cmp byte [ecx + 0x6668], bl
jne 0x4456cc
mov byte [0x4644e9], 1
jmp 0x4456df
test dl, 8
je 0x44575b
cmp byte [ecx + 0xb9a8], bl
jne 0x44575b
call fcn.0041029f
test al, al
jne 0x44574f
cmp dword [0x463490], ebx
je 0x44573b
mov byte [0x4644e6], 1
jmp 0x44574f
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x11
push 2
call fcn.00410f1f
add esp, 0x18
mov dl, byte [0x46337c]
mov esi, dword [0x4644e0]
movzx ecx, word [ebp - 0x20]
mov eax, 0x3ffa
cmp ecx, eax
je 0x44578e
jle 0x44577e
cmp ecx, 0x3ffc
jle 0x44579a
cmp ecx, 0x3ffe
jle 0x44581c
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x30], eax
mov edi, 0xffc3d44d
jmp 0x445a0c
cmp byte [0x4644e5], bl
je 0x445bbd
test dl, 4
mov byte [ebp - 1], bl
je 0x4457a8
mov byte [ebp - 1], 0xa4
jmp 0x4457b1
test dl, 8
je 0x4457b1
mov byte [ebp - 1], 0xa5
cmp byte [0x4644e5], bl
je 0x4458e4
cmp word [ebp - 0x20], 0x3ffb
je 0x44581c
cmp byte [ebp - 1], bl
je 0x4457d0
movzx eax, byte [ebp - 1]
jmp 0x4457d3
push 0x12
pop eax
mov esi, 0xffc3d44d
push esi
push ebx
push ebx
push ebx
push eax
push 1
call fcn.00410f1f
mov eax, dword [ebp - 8]
add esp, 0x18
cmp byte [eax + 4], bl
je 0x445811
cmp byte [ebp + 0x18], 0x5b
je 0x445811
cmp byte [ebp + 0x18], 0x5c
je 0x445811
cmp byte [ebp + 0x20], bl
jne 0x445811
push esi
push ebx
push ebx
push ebx
push dword [ebp + 0x18]
push 1
call fcn.00410f1f
add esp, 0x18
mov byte [0x4644e5], bl
jmp 0x445a01
cmp byte [0x4644e5], bl
je 0x445bbd
cmp byte [ebp + 0x20], bl
jne 0x44585b
mov al, byte [ebp + 0x18]
cmp al, 0xa2
je 0x445840
cmp al, 0xa3
je 0x445840
cmp al, 0xa0
je 0x445840
cmp al, 0xa1
jne 0x44585b
push 0xffc3d44d
push ebx
push ebx
push ebx
push dword [ebp + 0x18]
push 1
call fcn.00410f1f
mov dl, byte [0x46337c]
add esp, 0x18
test dl, 0xc
je 0x445871
cmp byte [ebp + 0x20], bl
je 0x44588a
cmp byte [ebp + 0x18], 0xa4
je 0x445871
cmp byte [ebp + 0x18], 0xa5
jne 0x44588a
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x12
push ebx
call fcn.00410f1f
mov dl, byte [0x46337c]
add esp, 0x18
cmp word [ebp - 0x20], 0x3ffd
mov byte [ebp - 0x12], bl
jne 0x4458b1
test dl, 0x30
jne 0x4458b1
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x10
push ebx
call fcn.00410f1f
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.00410f1f
add esp, 0x18
cmp byte [ebp - 0x12], bl
je 0x445a06
push edi
push ebx
push ebx
push ebx
push 0x10
push 1
call fcn.00410f1f
add esp, 0x18
jmp 0x445a06
mov al, byte [ebp + 0x18]
cmp al, 0xa4
je 0x4458f2
cmp al, 0xa5
mov byte [ebp - 0x12], bl
jne 0x4458f6
mov byte [ebp - 0x12], 1
cmp al, 0xa0
je 0x445901
cmp al, 0xa1
mov byte [ebp - 2], bl
jne 0x445905
mov byte [ebp - 2], 1
cmp al, 0xa2
je 0x445911
cmp al, 0xa3
je 0x445911
xor al, al
jmp 0x445913
mov al, 1
test dl, 0x10
mov byte [ebp - 0x1c], bl
je 0x445921
mov byte [ebp - 0x1c], 0xa0
jmp 0x44593c
test dl, 0x20
je 0x44592c
mov byte [ebp - 0x1c], 0xa1
jmp 0x44593c
cmp byte [ebp + 0x20], bl
jne 0x44593c
cmp byte [ebp - 2], bl
je 0x44593c
mov cl, byte [ebp + 0x18]
mov byte [ebp - 0x1c], cl
test dl, 1
mov byte [ebp - 0x28], bl
je 0x44594a
mov byte [ebp - 0x28], 0xa2
jmp 0x445964
test dl, 2
je 0x445955
mov byte [ebp - 0x28], 0xa3
jmp 0x445964
cmp byte [ebp + 0x20], bl
jne 0x445964
cmp al, bl
je 0x445964
mov al, byte [ebp + 0x18]
mov byte [ebp - 0x28], al
cmp byte [ebp - 0x1c], bl
mov byte [ebp - 0x15], bl
je 0x445985
push 0xffc3d44d
push ebx
push ebx
push ebx
push dword [ebp - 0x1c]
push 1
call fcn.00410f1f
add esp, 0x18
mov byte [ebp - 0x15], 1
cmp byte [ebp - 0x28], bl
je 0x44599f
push 0xffc3d44d
push ebx
push ebx
push ebx
push dword [ebp - 0x28]
push 1
call fcn.00410f1f
add esp, 0x18
cmp byte [ebp - 0x12], bl
je 0x4459ae
cmp byte [ebp + 0x20], bl
jne 0x4459b5
mov al, byte [ebp + 0x18]
jmp 0x4459b1
mov al, byte [ebp - 1]
cmp al, bl
jne 0x4459cb
mov esi, 0xffc3d44d
push esi
push ebx
push ebx
push ebx
push 0x12
push ebx
call fcn.00410f1f
add esp, 0x18
jmp 0x4459d0
mov esi, 0xffc3d44d
push esi
push ebx
push ebx
push ebx
push 9
push 2
call fcn.00410f1f
add esp, 0x18
cmp byte [ebp - 0x15], bl
je 0x4459fa
cmp byte [ebp - 2], bl
jne 0x4459fa
push esi
push ebx
push ebx
push ebx
push dword [ebp - 0x1c]
push ebx
call fcn.00410f1f
add esp, 0x18
mov byte [0x4644e5], 1
mov edi, 0xffc3d44d
mov esi, dword [0x4644e0]
mov eax, dword [ebp - 0x10]
add eax, 4
cmp byte [ebp - 0x11], bl
mov byte [eax], 0x68
mov eax, dword [ebp - 8]
je 0x445a77
cmp byte [ebp + 0x20], bl
je 0x445b3e
cmp byte [eax + 8], bl
je 0x445a77
push 0xffc3d44e
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push 1
call fcn.00410f1f
push edi
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push 2
call fcn.00410f1f
push ebx
push 0x7fffffff
push dword [ebp - 0x30]
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.004462c1
add esp, 0x54
jmp 0x445bdf
cmp byte [ebp + 0x20], bl
je 0x445b3e
cmp byte [eax + 4], bl
je 0x445aa5
cmp byte [eax + 0x10], bl
je 0x445a9e
push ebx
push 0x7fffffff
push dword [ebp - 0x30]
push dword [ebp - 0x10]
push dword [ebp + 0x20]
jmp 0x4448b1
push 1
jmp 0x445b5b
cmp byte [ebp - 0x14], bl
jne 0x445ab6
mov ecx, dword [ebp - 0x24]
test byte [ecx], 1
je 0x445b9f
mov esi, dword [ebp + 8]
cmp esi, dword [0x463494]
je 0x445b1f
mov ecx, dword [eax]
cmp ecx, ebx
je 0x445ad0
cmp dword [ecx], 7
mov byte [ebp + 0xb], 1
jne 0x445ad3
mov byte [ebp + 0xb], bl
cmp byte [eax + 0x10], bl
je 0x445af4
cmp byte [ebp - 0x2a], bl
jne 0x445af4
cmp byte [ebp + 0xb], bl
jne 0x445af9
push edi
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push ebx
call fcn.00410f1f
add esp, 0x18
cmp byte [ebp + 0xb], bl
je 0x445b1f
push ebx
push 0x7fffffff
push dword [ebp - 0x30]
push dword [ebp - 0x10]
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push esi
call fcn.004462c1
add esp, 0x24
jmp 0x445bdf
push ebx
push dword [ebp - 0x30]
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 0x445bd7
cmp esi, ebx
mov byte [eax + 0xf], 1
je 0x445b4f
cmp byte [esi + 4], bl
je 0x445b4f
mov byte [esi + 0x11], 2
cmp byte [ebp - 0x14], bl
je 0x445b60
mov eax, dword [ebp - 0x24]
or byte [eax], 8
push ebx
push dword [ebp - 0x30]
jmp 0x445bbf
cmp byte [ebp + 0x18], 0xa4
je 0x445b6c
cmp byte [ebp + 0x18], 0xa5
jne 0x445b9f
mov al, byte [0x46337c]
test al, 0xc0
je 0x445b89
test al, 0x33
jne 0x445b89
push edi
push ebx
push ebx
push ebx
push 0x11
push 2
call fcn.00410f1f
add esp, 0x18
push edi
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push 1
call fcn.00410f1f
mov eax, dword [ebp - 8]
add esp, 0x18
cmp byte [ebp + 0x20], bl
jne 0x445a8a
mov byte [eax + 0x10], 1
jmp 0x445a8a
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.0044355b
add esp, 0x28
pop edi
pop esi
pop ebx
leave
ret