Function at 0x44416c
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.004440ae
mov byte [ebp - 0x11], al
mov eax, dword [0x464cf4]
xor ebx, ebx
cmp eax, ebx
pop ecx
jne 0x4441a5
lea eax, [ebp - 0xb4]
mov dword [ebp - 0x10], eax
jmp 0x444253
mov ecx, dword [0x464cf8]
mov esi, ecx
imul esi, esi, 0x70
add esi, eax
inc ecx
cmp ecx, dword [0x46206c]
mov dword [ebp - 0x10], esi
mov dword [0x464cf8], ecx
jl 0x4441ca
mov dword [0x464cf8], 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 [0x464cfc], eax
sub eax, dword [0x465418]
test eax, eax
mov dword [ebp - 0x44], eax
fild dword [ebp - 0x44]
jge 0x4441f6
fadd dword [0x458a84]
fmul dword [0x458a80]
fstp dword [esi + 8]
mov eax, dword [0x464cfc]
mov dword [0x465418], eax
call dword [sym.imp.USER32.dll_GetForegroundWindow]
cmp eax, ebx
mov dword [ebp - 0x28], eax
je 0x44423b
cmp eax, dword [0x464d00]
je 0x444236
push eax
add esi, 0xc
push esi
push 0x418
push dword [0x4642c8]
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x44424b
mov byte [esi + 0xc], bl
jmp 0x44424b
add esi, 0xc
push 0x458a7c
push esi
call fcn.004548e0
pop ecx
pop ecx
mov eax, dword [ebp - 0x28]
mov dword [0x464d00], eax
cmp byte [ebp + 0x18], 0x9e
mov eax, dword [ebp - 0x10]
mov cx, word [ebp + 0x1c]
mov word [eax + 2], cx
je 0x44426a
cmp byte [ebp + 0x18], 0x9f
jne 0x44426d
mov dword [ebp + 0x1c], ebx
mov eax, dword [ebp + 8]
cmp eax, dword [0x4643fc]
jne 0x4442a0
mov al, byte [ebp + 0x28]
and al, 1
jne 0x444463
cmp byte [ebp + 0x20], bl
movzx edx, byte [ebp + 0x18]
setne cl
dec cl
and ecx, 0x80
mov byte [edx + 0x4642e8], cl
jmp 0x444463
mov eax, dword [ebp + 0x28]
shr eax, 4
and al, 1
test byte [ebp + 0x1d], 1
mov byte [ebp - 2], al
jne 0x444310
push 0x90
call dword [sym.imp.USER32.dll_GetKeyState]
test al, 1
je 0x444310
movzx eax, byte [ebp + 0x18]
cmp eax, 0x60
jg 0x44439c
je 0x44438c
cmp eax, 0x25
jg 0x44436b
je 0x4443c8
sub eax, 0xc
je 0x4443b8
sub eax, 0x15
je 0x444440
dec eax
je 0x4443d8
dec eax
je 0x4443f8
dec eax
jne 0x444310
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x465428], al
movzx esi, byte [ebp + 0x18]
mov ecx, dword [0x465468]
lea eax, [esi + esi*8]
shl eax, 5
cmp byte [eax + ecx + 4], bl
jne 0x444358
push dword [ebp + 0x20]
push dword [ebp + 0x18]
push dword [ebp + 0x28]
call fcn.004440ed
add esp, 0xc
test al, al
je 0x444460
cmp byte [ebp + 0x20], bl
mov ecx, dword [0x465468]
setne al
dec al
and eax, 0x80
mov byte [esi + 0x4642e8], al
mov al, byte [ebp - 2]
cmp byte [ebp - 0x11], bl
je 0x44446e
mov al, 0x69
jmp 0x444479
sub eax, 0x26
je 0x444450
dec eax
je 0x444408
dec eax
je 0x4443e8
sub eax, 5
je 0x44438c
dec eax
je 0x444430
jmp 0x444310
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x465421], al
jmp 0x444310
cmp eax, 0x66
jg 0x444418
je 0x444408
sub eax, 0x61
je 0x4443f8
dec eax
je 0x4443e8
dec eax
je 0x4443d8
dec eax
je 0x4443c8
dec eax
jne 0x444310
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x465426], al
jmp 0x444310
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x465425], al
jmp 0x444310
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x465424], al
jmp 0x444310
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x465423], al
jmp 0x444310
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x465422], al
jmp 0x444310
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x465427], al
jmp 0x444310
sub eax, 0x67
je 0x444305
dec eax
je 0x444450
dec eax
je 0x444440
sub eax, 5
jne 0x444310
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x465420], al
jmp 0x444310
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x46542a], al
jmp 0x444310
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x465429], al
jmp 0x444310
mov al, byte [ebp - 2]
mov ecx, dword [0x465468]
jmp 0x44435b
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 [0x4643e8], bl
je 0x4444b6
cmp byte [ebp + 0x18], 0x5b
je 0x444495
cmp byte [ebp + 0x18], 0x5c
jne 0x4444b6
cmp byte [ebp + 0x20], bl
jne 0x4444b6
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 0x44571f
cmp byte [0x46544d], bl
je 0x444539
cmp byte [ebp + 0x18], 0x1b
jne 0x444539
cmp byte [ebp + 0x20], bl
jne 0x444539
push ebx
push 0x458a6c
call dword [sym.imp.USER32.dll_FindWindowA]
cmp eax, ebx
je 0x444533
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 0x444533
mov esi, 0xffc3d44d
push esi
push ebx
push ebx
push ebx
push 0x1b
push ebx
call fcn.004104ed
xor eax, eax
mov al, byte [0x4642e4]
shr al, 3
push esi
push ebx
push ebx
push ebx
and eax, 0xffffff01
or eax, 0xa4
push eax
push 1
call fcn.004104ed
push ebx
push 0x7fffffff
push edi
push dword [ebp - 0x10]
push ebx
push dword [ebp + 0x1c]
push 0x1b
jmp 0x445671
mov ecx, dword [0x465468]
movzx eax, word [ebp + 0x1c]
mov edx, dword [0x46546c]
lea eax, [eax + eax*8]
shl eax, 5
lea esi, [eax + edx]
mov edx, dword [ebp + 8]
cmp edx, dword [0x4643f8]
mov al, byte [esi + 0x12]
mov byte [ebp - 0x30], al
jne 0x444561
cmp al, bl
jne 0x44456d
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 0x4445a5
cmp dword [ebp + 0x24], 0xffc3d44e
jne 0x4457ca
cmp byte [ebp + 0x20], bl
je 0x4457ca
cmp dword [0x465448], esi
jne 0x4457ca
mov byte [esi + 0xc], bl
mov dword [0x465448], ebx
jmp 0x4457c7
cmp byte [ebp + 0x20], bl
jne 0x4445b1
mov byte [esi + 0x10], bl
mov word [esi + 6], di
mov eax, dword [0x4643f8]
cmp dword [ebp + 8], eax
jne 0x444659
cmp byte [ebp + 0x20], bl
je 0x4446b1
cmp byte [0x465451], bl
je 0x4445d6
cmp byte [ebp + 0x18], 0x5b
je 0x444608
cmp byte [0x465450], bl
je 0x4445e4
cmp byte [ebp + 0x18], 0x5c
je 0x444608
cmp byte [0x46544f], bl
je 0x4445f2
cmp byte [ebp + 0x18], 0xa4
je 0x444608
cmp byte [0x46544e], bl
je 0x4446b1
cmp byte [ebp + 0x18], 0xa5
jne 0x4446b1
movzx eax, byte [ebp + 0x18]
sub eax, 0x5b
je 0x444634
dec eax
je 0x44462c
sub eax, 0x48
je 0x444624
dec eax
jne 0x44463a
mov byte [0x46544e], bl
jmp 0x44463a
mov byte [0x46544f], bl
jmp 0x44463a
mov byte [0x465450], bl
jmp 0x44463a
mov byte [0x465451], bl
test byte [0x4642e4], 3
jne 0x4446b1
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x11
push 2
call fcn.004104ed
add esp, 0x18
jmp 0x4446ab
cmp byte [ebp + 0x18], bl
jne 0x44466f
push ebx
push edi
push dword [ebp - 0x10]
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push ebx
jmp 0x4457d8
cmp byte [ebp + 0x18], 1
je 0x44467b
cmp byte [ebp + 0x18], 2
jne 0x4446b1
cmp dword [0x464430], ebx
jne 0x4457be
push ebx
push 0x458a74
call dword [sym.imp.USER32.dll_FindWindowA]
cmp eax, ebx
je 0x4446ab
push ebx
push eax
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
cmp eax, dword [0x464d04]
je 0x4457be
mov ecx, dword [0x465468]
mov esi, dword [0x465448]
cmp esi, ebx
mov eax, dword [ebp - 0xc]
je 0x4446e8
cmp esi, eax
je 0x4446e8
cmp byte [ebp + 0x20], bl
jne 0x4446e8
mov edx, dword [0x4643f8]
cmp dword [ebp + 8], edx
jne 0x4446dc
xor edx, edx
cmp byte [eax + 4], bl
sete dl
jmp 0x4446e0
movzx edx, byte [esi + 4]
cmp edx, ebx
je 0x4446e8
mov byte [esi + 0x11], 1
cmp byte [eax + 8], bl
jne 0x4446f6
cmp byte [eax + 9], bl
je 0x4457ca
cmp byte [ebp + 0x20], bl
mov byte [ebp - 0x31], bl
mov dword [ebp - 8], edi
mov byte [ebp - 0x12], bl
je 0x44472c
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 0x444729
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 [0x4643f8]
cmp dword [ebp + 8], edx
mov byte [ebp - 2], bl
jne 0x4447a2
cmp byte [eax + 4], bl
je 0x4447cb
cmp byte [ecx + 0xb64c], bl
jne 0x44475d
cmp byte [ecx + 0xb76c], bl
jne 0x44475d
xor edx, edx
jmp 0x444760
xor edx, edx
inc edx
cmp byte [ecx + 0xb88c], bl
mov byte [ecx + 0x132c], dl
jne 0x44477a
cmp byte [ecx + 0xb9ac], bl
jne 0x44477a
xor edx, edx
jmp 0x44477d
xor edx, edx
inc edx
cmp byte [ecx + 0xb40c], bl
mov byte [ecx + 0x144c], dl
jne 0x444797
cmp byte [ecx + 0xb52c], bl
jne 0x444797
xor edx, edx
jmp 0x44479a
xor edx, edx
inc edx
mov byte [ecx + 0x120c], dl
jmp 0x4447cb
cmp edx, ebx
jne 0x4447cb
push 1
call fcn.0040fd4e
mov esi, dword [0x465448]
pop ecx
mov ecx, dword [0x465468]
mov byte [0x4642e5], al
mov byte [0x4642e4], al
mov eax, dword [ebp - 0xc]
mov byte [ebp - 2], 1
mov edx, dword [eax]
cmp edx, ebx
je 0x4447da
cmp dword [edx], 7
mov byte [ebp - 0x1a], 1
je 0x4447dd
mov byte [ebp - 0x1a], bl
mov dl, byte [eax + 8]
cmp dl, bl
je 0x44494f
cmp byte [ebp + 0x20], bl
jne 0x44494f
cmp esi, ebx
je 0x444802
cmp byte [eax + 9], bl
je 0x444802
cmp eax, esi
jne 0x44494f
cmp dl, 1
jne 0x444838
cmp byte [ebp - 0x30], bl
movzx eax, word [ebp + 0x1c]
jne 0x444814
movzx eax, byte [ebp + 0x18]
push dword [ebp - 0x30]
push eax
call fcn.0040f059
test al, al
mov esi, dword [0x465448]
pop ecx
pop ecx
mov ecx, dword [0x465468]
je 0x444838
mov eax, dword [ebp - 0xc]
mov byte [ebp - 0x11], 1
jmp 0x44484d
mov eax, dword [ebp - 0xc]
cmp eax, esi
mov byte [ebp - 0x11], bl
je 0x44484d
mov esi, eax
mov dword [0x465448], esi
mov byte [eax + 0x11], bl
cmp byte [eax + 9], bl
je 0x444915
cmp byte [ebp - 2], bl
jne 0x444876
push 1
mov byte [ebp - 2], 1
call fcn.0040fd4e
mov esi, dword [0x465448]
mov eax, dword [ebp - 0xc]
pop ecx
mov ecx, dword [0x465468]
mov dl, byte [0x4642e5]
mov byte [ebp - 1], dl
mov dl, byte [eax + 4]
cmp dl, bl
je 0x444896
not dl
mov cl, dl
and byte [ebp - 1], cl
mov ecx, dword [0x465468]
mov byte [ebp - 0x3d], dl
cmp byte [ebp - 1], bl
jne 0x4448a0
cmp byte [ebp - 0x11], bl
je 0x444915
mov ecx, dword [0x4643f8]
cmp dword [ebp + 8], ecx
jne 0x4448c9
cmp byte [ebp - 0x30], bl
je 0x4448c9
movzx edx, byte [ebp - 1]
movzx ecx, word [ebp + 0x1c]
shl edx, 8
add edx, ecx
mov ecx, dword [0x465460]
movzx ecx, word [ecx + edx*2]
jmp 0x4448e0
movzx ecx, byte [ebp - 1]
movzx edx, byte [ebp + 0x18]
shl ecx, 8
add ecx, edx
mov edx, dword [0x46545c]
movzx ecx, word [edx + ecx*2]
test ch, 0x40
mov dword [ebp - 8], ecx
je 0x4448f1
mov word [eax + 6], cx
mov dword [ebp - 8], edi
jmp 0x44491e
mov edx, dword [0x4631d0]
and ecx, edi
cmp cx, word [edx]
jae 0x44490f
mov edx, dword [0x465464]
movzx ecx, cx
mov cx, word [edx + ecx*2]
mov word [eax + 6], cx
mov ecx, dword [0x465468]
cmp word [ebp - 8], di
jne 0x44494f
mov eax, dword [ebp - 0xc]
cmp byte [ebp - 0x11], bl
je 0x444930
or byte [eax + 0xb], 8
mov ecx, dword [ebp - 0x10]
add ecx, 4
mov byte [ecx], 0x23
cmp byte [eax + 4], bl
jne 0x444949
test byte [eax + 0xb], 1
jne 0x444949
cmp byte [ebp - 0x1a], bl
jne 0x444949
cmp byte [ebp - 0x11], bl
je 0x44449a
push ebx
jmp 0x445292
mov edx, dword [ebp - 0xc]
cmp byte [edx + 9], bl
mov byte [ebp - 0x11], bl
je 0x4449a1
cmp byte [ebp + 0x20], bl
je 0x4449a1
cmp esi, edx
jne 0x444970
cmp byte [ebp - 0x1b], bl
je 0x4449a1
xor esi, esi
mov dword [0x465448], esi
cmp byte [edx + 0xa], bl
jne 0x44499d
mov al, byte [edx + 0xb]
test al, 8
je 0x444985
xor cl, cl
and al, 0xf7
mov byte [edx + 0xb], al
jmp 0x444987
mov cl, 1
cmp byte [ebp - 0x1b], bl
je 0x4457ca
cmp cl, bl
je 0x4457ca
jmp 0x445263
mov byte [ebp - 0x11], 1
cmp byte [edx + 8], bl
je 0x444adc
cmp byte [ebp + 0x20], bl
je 0x444adc
cmp esi, edx
jne 0x4449bf
xor esi, esi
mov dword [0x465448], esi
cmp byte [edx + 0xd], bl
je 0x4449ed
mov eax, dword [ebp - 0xc]
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x12
push 1
mov byte [eax + 0xd], bl
call fcn.004104ed
mov ecx, dword [0x465468]
mov esi, dword [0x465448]
mov edx, dword [ebp - 0xc]
add esp, 0x18
cmp byte [edx + 0xe], bl
je 0x444a1b
mov eax, dword [ebp - 0xc]
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x10
push 1
mov byte [eax + 0xe], bl
call fcn.004104ed
mov ecx, dword [0x465468]
mov esi, dword [0x465448]
mov edx, dword [ebp - 0xc]
add esp, 0x18
cmp word [ebp - 8], di
jne 0x444a35
mov al, byte [edx + 0xb]
test al, 8
je 0x444a35
mov ecx, dword [ebp - 0xc]
and al, 0xf7
mov byte [ecx + 0xb], al
jmp 0x4457ca
cmp byte [ebp - 0x1a], bl
mov al, byte [edx + 0x11]
je 0x444a9a
cmp al, 2
jne 0x444a75
push 0xffc3d44e
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push 1
call fcn.004104ed
push 0xffc3d44d
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push 2
call fcn.004104ed
push ebx
push 0x7fffffff
push edi
jmp 0x445665
cmp al, 1
je 0x4457ca
cmp byte [edx + 9], bl
jne 0x444ace
cmp byte [edx + 4], bl
jne 0x4457ca
test byte [edx + 0xb], 1
jne 0x4457ca
jmp 0x44525a
cmp al, bl
je 0x444a7d
cmp word [ebp - 8], di
jne 0x444a7d
cmp byte [edx + 4], bl
je 0x444ab8
cmp al, 2
jne 0x4457ca
push 1
jmp 0x4457cb
test byte [edx + 0xb], 1
push ebx
jne 0x4457cb
push 0x7fffffff
push edi
jmp 0x4456a0
cmp byte [ebp - 0x21], bl
jne 0x444adc
cmp byte [edx + 0xa], bl
je 0x4457ca
cmp byte [ebp - 2], bl
jne 0x444afe
cmp word [ebp - 8], di
jne 0x444afe
push 1
call fcn.0040fd4e
mov esi, dword [0x465448]
mov edx, dword [ebp - 0xc]
pop ecx
mov ecx, dword [0x465468]
cmp esi, ebx
mov byte [ebp - 0x19], bl
je 0x44507c
cmp byte [ebp + 0x20], bl
je 0x444b17
cmp byte [edx + 0xa], bl
je 0x44507c
cmp word [ebp - 8], di
jne 0x4451ac
cmp byte [edx + 0x13], bl
mov dword [ebp - 0x20], ebx
jbe 0x444bfa
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 0x444b78
mov eax, dword [ebp - 0x18]
movzx eax, word [eax + 2]
test ah, 0x40
mov dword [ebp - 0x28], eax
je 0x444b65
cmp byte [ebp + 0x20], bl
jne 0x444b8d
mov word [edx + 6], ax
cmp word [ebp - 8], di
jne 0x444ba6
jmp 0x444b78
cmp byte [ebp + 0x20], bl
jne 0x444b78
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 0x444b33
jmp 0x444ba0
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 0x444bfa
movzx esi, byte [ebp - 1]
mov eax, esi
sub eax, 0x10
je 0x444bdb
dec eax
je 0x444bc9
dec eax
jne 0x444bed
xor eax, eax
cmp byte [ecx + 0xb9ac], bl
setne al
add eax, 0xa4
jmp 0x444beb
xor eax, eax
cmp byte [ecx + 0xb76c], bl
setne al
add eax, 0xa2
jmp 0x444beb
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 0x444c93
cmp byte [edx + 0x14], bl
mov dword [ebp - 0x20], ebx
jbe 0x444ca3
add edx, 0xde
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
movzx eax, word [eax]
mov edx, dword [0x46546c]
lea eax, [eax + eax*8]
shl eax, 5
cmp byte [eax + edx + 0xc], bl
je 0x444c56
mov edx, dword [ebp - 0x18]
mov ax, word [edx + 2]
test ah, 0x40
je 0x444c47
cmp byte [ebp + 0x20], bl
jne 0x444c6b
mov edx, dword [ebp - 0xc]
mov word [edx + 6], ax
cmp word [ebp - 8], di
jne 0x444c83
jmp 0x444c59
cmp byte [ebp + 0x20], bl
jne 0x444c56
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 0x444c0f
jmp 0x444c7a
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 0x444ca3
movzx esi, word [ebp - 0x2c]
lea esi, [esi + esi*8]
shl esi, 5
add esi, dword [0x46546c]
cmp word [ebp - 8], di
mov dword [0x465448], esi
jne 0x444e60
cmp byte [ebp + 0x18], 0xa0
jb 0x444e60
cmp byte [ebp + 0x18], 0xa1
jbe 0x444ccb
cmp byte [ebp + 0x18], 0xa3
jbe 0x444cc7
cmp byte [ebp + 0x18], 0xa5
ja 0x444e60
mov al, 0x12
jmp 0x444ccd
mov al, 0x11
jmp 0x444ccd
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 0x444d5b
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 0x444d34
mov eax, dword [ebp - 0x18]
movzx eax, word [eax + 2]
test ah, 0x40
mov dword [ebp - 0x44], eax
je 0x444d24
cmp byte [ebp + 0x20], bl
jne 0x444d48
mov word [edx + 6], ax
cmp word [ebp - 8], di
jne 0x444d61
jmp 0x444d34
cmp byte [ebp + 0x20], bl
jne 0x444d34
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 0x444cf2
jmp 0x444d5b
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 0x444db5
movzx esi, byte [ebp - 1]
mov eax, esi
sub eax, 0x10
je 0x444da3
dec eax
je 0x444d84
dec eax
jne 0x444d96
xor eax, eax
cmp byte [ecx + 0xb9ac], bl
setne al
add eax, 0xa4
jmp 0x444d94
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 0x444e5a
xor eax, eax
cmp byte [ecx + 0xb52c], bl
setne al
add eax, 0xa0
jmp 0x444d94
mov eax, dword [ebp - 0x28]
movzx eax, byte [eax + 0x14]
cmp eax, ebx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x20], ebx
jle 0x444e60
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 [0x46546c]
lea eax, [eax + eax*8]
shl eax, 5
cmp byte [eax + edx + 0xc], bl
mov edx, dword [ebp - 0x18]
je 0x444e1f
mov ax, word [edx + 2]
test ah, 0x40
je 0x444e10
cmp byte [ebp + 0x20], bl
jne 0x444e32
mov edx, dword [ebp - 0xc]
mov word [edx + 6], ax
cmp word [ebp - 8], di
jne 0x444e4a
mov edx, dword [ebp - 0x18]
jmp 0x444e1f
cmp byte [ebp + 0x20], bl
jne 0x444e1f
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 0x444dd5
jmp 0x444e41
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 0x444e60
movzx esi, word [ebp - 0x2c]
lea esi, [esi + esi*8]
shl esi, 5
add esi, dword [0x46546c]
mov dword [0x465448], esi
mov eax, dword [ebp - 8]
and eax, edi
cmp word [ebp - 8], di
mov dword [ebp - 0x2c], eax
je 0x444ec0
mov edx, dword [0x4631d0]
cmp ax, word [edx]
jae 0x444eb9
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.0040dd58
add esp, 0x14
cmp al, bl
mov byte [ebp - 0x12], al
je 0x445206
mov eax, dword [ebp - 8]
mov ecx, dword [0x465468]
mov esi, dword [0x465448]
and eax, edi
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0xc]
mov byte [esi + 0x11], 2
cmp ax, 0x3ffe
je 0x444ed0
cmp ax, 0x3ffd
jne 0x44507c
cmp byte [ebp + 0x20], bl
jne 0x444ed9
mov byte [edx + 0xf], 1
test byte [0x4642e4], 0xc
jne 0x444efe
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x12
push ebx
call fcn.004104ed
mov esi, dword [0x465448]
mov eax, dword [ebp - 0x2c]
add esp, 0x18
cmp byte [ebp + 0x18], 0xa2
je 0x444f0a
cmp byte [ebp + 0x18], 0xa3
jne 0x444f2f
cmp byte [ebp + 0x20], bl
jne 0x444f2f
push 0xffc3d44d
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push 1
call fcn.004104ed
mov esi, dword [0x465448]
mov eax, dword [ebp - 0x2c]
add esp, 0x18
cmp ax, 0x3ffd
mov byte [esi + 0xd], 1
jne 0x444f61
test byte [0x4642e4], 0x30
jne 0x444f5b
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x10
push ebx
call fcn.004104ed
mov esi, dword [0x465448]
add esp, 0x18
mov byte [esi + 0xe], 1
jmp 0x444fcf
cmp ax, 0x3ffe
jne 0x444fcf
cmp byte [ebp + 0x18], 0xa0
je 0x444f73
cmp byte [ebp + 0x18], 0xa1
jne 0x444f8f
cmp byte [ebp + 0x20], bl
jne 0x444f8f
push 0xffc3d44d
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push 1
call fcn.004104ed
add esp, 0x18
test byte [0x4642e4], 0x10
je 0x444faf
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0xa0
push 1
call fcn.004104ed
add esp, 0x18
test byte [0x4642e4], 0x20
je 0x444fcf
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0xa1
push 1
call fcn.004104ed
add esp, 0x18
test byte [0x4642e4], 1
je 0x444fef
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0xa2
push 1
call fcn.004104ed
add esp, 0x18
test byte [0x4642e4], 2
mov esi, 0xffc3d44d
je 0x445010
push esi
push ebx
push ebx
push ebx
push 0xa3
push 1
call fcn.004104ed
add esp, 0x18
push esi
push ebx
push ebx
push ebx
push 9
push 2
call fcn.004104ed
add esp, 0x18
cmp word [ebp - 0x2c], 0x3ffd
jne 0x44505c
mov eax, dword [0x465448]
cmp byte [eax + 0xe], bl
je 0x44505c
cmp byte [ebp + 0x18], 0x60
jb 0x44503e
cmp byte [ebp + 0x18], 0x69
jbe 0x445044
cmp byte [ebp + 0x18], 0x6e
jne 0x44505c
push esi
push ebx
push ebx
push ebx
push 0x10
push 1
call fcn.004104ed
mov eax, dword [0x465448]
add esp, 0x18
mov byte [eax + 0xe], bl
cmp byte [ebp + 0x20], bl
mov eax, dword [ebp - 0x10]
mov byte [eax + 4], 0x68
jne 0x44506f
mov ecx, dword [ebp - 0xc]
mov byte [ecx + 0x10], 1
push ebx
push 0x7fffffff
push edi
push eax
jmp 0x4456a3
cmp word [ebp - 8], di
jne 0x4451ac
mov dl, byte [edx + 4]
cmp dl, bl
mov al, byte [0x4642e5]
mov byte [ebp - 1], al
je 0x44509f
not dl
mov al, dl
and byte [ebp - 1], al
mov byte [ebp - 0x21], dl
mov eax, dword [ebp + 8]
cmp eax, dword [0x4643f8]
jne 0x4450c7
cmp byte [ebp - 0x30], bl
je 0x4450c7
movzx edx, byte [ebp - 1]
movzx eax, word [ebp + 0x1c]
shl edx, 8
add edx, eax
mov eax, dword [0x465460]
mov ax, word [eax + edx*2]
jmp 0x4450de
movzx eax, byte [ebp - 1]
movzx edx, byte [ebp + 0x18]
shl eax, 8
add eax, edx
mov edx, dword [0x46545c]
mov ax, word [edx + eax*2]
cmp ax, di
mov word [ebp - 8], ax
jne 0x44514e
cmp byte [0x46544d], bl
je 0x44514e
cmp byte [ebp + 0x18], 9
je 0x44514e
mov eax, dword [0x4643f8]
and byte [ebp - 1], 0xf3
cmp dword [ebp + 8], eax
jne 0x445120
cmp byte [ebp - 0x30], bl
je 0x445120
movzx edx, byte [ebp - 1]
movzx eax, word [ebp + 0x1c]
shl edx, 8
add edx, eax
mov eax, dword [0x465460]
mov ax, word [eax + edx*2]
jmp 0x445137
movzx eax, byte [ebp - 1]
movzx edx, byte [ebp + 0x18]
shl eax, 8
add eax, edx
mov edx, dword [0x46545c]
mov ax, word [edx + eax*2]
mov word [ebp - 8], ax
mov eax, dword [ebp - 8]
and eax, edi
cmp ax, 0x3ff9
jbe 0x44514b
cmp ax, di
jb 0x44514e
mov dword [ebp - 8], edi
mov eax, dword [ebp - 8]
test ah, 0x40
je 0x445167
cmp byte [ebp + 0x20], bl
mov edx, dword [ebp - 0xc]
jne 0x4451a2
mov word [edx + 6], ax
mov dword [ebp - 8], edi
jmp 0x4451a2
cmp ax, di
je 0x445236
mov edx, dword [0x4631d0]
and eax, edi
cmp byte [ebp + 0x20], bl
je 0x445218
cmp ax, word [edx]
jae 0x44520e
mov edx, dword [0x465464]
movzx eax, ax
movzx eax, word [edx + eax*2]
cmp ax, di
je 0x44520e
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0xc]
cmp word [ebp - 8], di
je 0x445239
lea eax, [edx + 0xb]
test byte [eax], 8
mov dword [ebp - 0x28], eax
je 0x4451c3
cmp byte [ebp + 0x20], bl
je 0x4451c3
mov byte [ebp - 0x19], 1
and byte [eax], 0xf7
mov eax, dword [ebp - 8]
mov edx, dword [0x4631d0]
and ax, di
cmp ax, word [edx]
jae 0x4452a8
cmp byte [ebp - 0x12], bl
jne 0x4452a8
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.0040dd58
add esp, 0x14
test al, al
jne 0x44529c
push ebx
push edi
push esi
jmp 0x4457cf
cmp byte [ebp - 0x11], bl
je 0x44519f
mov dword [ebp - 8], edi
jmp 0x44519f
cmp ax, word [edx]
jae 0x44519f
mov edx, dword [0x465464]
movzx eax, ax
mov ax, word [edx + eax*2]
mov edx, dword [ebp - 0xc]
mov word [edx + 6], ax
jmp 0x4451a2
mov edx, dword [ebp - 0xc]
cmp byte [ebp + 0x20], bl
je 0x445269
cmp byte [edx + 4], bl
jne 0x4457ca
test byte [edx + 0xb], 1
jne 0x4457ca
cmp byte [edx + 8], bl
je 0x4457ca
cmp byte [ebp - 0x1a], bl
jne 0x4457ca
push ebx
jmp 0x444ac3
lea eax, [edx + 6]
cmp word [eax], di
push ebx
je 0x445292
lea ecx, [ebp - 0x19]
push ecx
mov ecx, dword [ebp - 0xc]
add ecx, 0xb
push ecx
push 1
push eax
call fcn.0040dd58
add esp, 0x14
cmp byte [ebp - 0x19], bl
push ebx
je 0x44449b
push edi
push dword [ebp - 0x10]
push ebx
jmp 0x4457d2
mov ecx, dword [0x465468]
mov esi, dword [0x465448]
mov eax, dword [ebp - 8]
mov dl, byte [0x4642e4]
and eax, edi
mov dword [ebp - 0x38], eax
mov eax, dword [0x4643f8]
cmp dword [ebp + 8], eax
jne 0x445306
test dl, 0x3f
jne 0x4452ec
test dl, 0x40
je 0x4452d9
cmp byte [ecx + 0x6668], bl
jne 0x4452d9
mov byte [0x465451], 1
test dl, dl
jns 0x4452ec
cmp byte [ecx + 0x6788], bl
jne 0x4452ec
mov byte [0x465450], 1
test dl, 4
je 0x445321
cmp byte [ecx + 0xb888], bl
jne 0x445321
cmp eax, ebx
je 0x445348
mov byte [0x46544f], 1
jmp 0x445368
test dl, 0xc
jne 0x4452ec
test dl, 0x40
je 0x4452d9
cmp byte [ecx + 0x6668], bl
jne 0x4452d9
mov byte [0x465451], 1
jmp 0x4452ec
test dl, 8
je 0x445368
cmp byte [ecx + 0xb9a8], bl
jne 0x445368
call fcn.0040f86d
test al, al
jne 0x44535c
cmp dword [0x4643f8], ebx
je 0x445348
mov byte [0x46544e], 1
jmp 0x44535c
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x11
push 2
call fcn.004104ed
add esp, 0x18
mov dl, byte [0x4642e4]
mov esi, dword [0x465448]
movzx ecx, word [ebp - 0x38]
mov eax, 0x3ffa
cmp ecx, eax
je 0x44539b
jle 0x44538b
cmp ecx, 0x3ffc
jle 0x4453a7
cmp ecx, 0x3ffe
jle 0x445429
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x3c], eax
mov edi, 0xffc3d44d
jmp 0x445619
cmp byte [0x46544d], bl
je 0x4457ca
test dl, 4
mov byte [ebp - 1], bl
je 0x4453b5
mov byte [ebp - 1], 0xa4
jmp 0x4453be
test dl, 8
je 0x4453be
mov byte [ebp - 1], 0xa5
cmp byte [0x46544d], bl
je 0x4454f1
cmp word [ebp - 0x38], 0x3ffb
je 0x445429
cmp byte [ebp - 1], bl
je 0x4453dd
movzx eax, byte [ebp - 1]
jmp 0x4453e0
push 0x12
pop eax
mov esi, 0xffc3d44d
push esi
push ebx
push ebx
push ebx
push eax
push 1
call fcn.004104ed
mov eax, dword [ebp - 0xc]
add esp, 0x18
cmp byte [eax + 4], bl
je 0x44541e
cmp byte [ebp + 0x18], 0x5b
je 0x44541e
cmp byte [ebp + 0x18], 0x5c
je 0x44541e
cmp byte [ebp + 0x20], bl
jne 0x44541e
push esi
push ebx
push ebx
push ebx
push dword [ebp + 0x18]
push 1
call fcn.004104ed
add esp, 0x18
mov byte [0x46544d], bl
jmp 0x44560e
cmp byte [0x46544d], bl
je 0x4457ca
cmp byte [ebp + 0x20], bl
jne 0x445468
mov al, byte [ebp + 0x18]
cmp al, 0xa2
je 0x44544d
cmp al, 0xa3
je 0x44544d
cmp al, 0xa0
je 0x44544d
cmp al, 0xa1
jne 0x445468
push 0xffc3d44d
push ebx
push ebx
push ebx
push dword [ebp + 0x18]
push 1
call fcn.004104ed
mov dl, byte [0x4642e4]
add esp, 0x18
test dl, 0xc
je 0x44547e
cmp byte [ebp + 0x20], bl
je 0x445497
cmp byte [ebp + 0x18], 0xa4
je 0x44547e
cmp byte [ebp + 0x18], 0xa5
jne 0x445497
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x12
push ebx
call fcn.004104ed
mov dl, byte [0x4642e4]
add esp, 0x18
cmp word [ebp - 0x38], 0x3ffd
mov byte [ebp - 0x12], bl
jne 0x4454be
test dl, 0x30
jne 0x4454be
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x10
push ebx
call fcn.004104ed
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.004104ed
add esp, 0x18
cmp byte [ebp - 0x12], bl
je 0x445613
push edi
push ebx
push ebx
push ebx
push 0x10
push 1
call fcn.004104ed
add esp, 0x18
jmp 0x445613
mov al, byte [ebp + 0x18]
cmp al, 0xa4
je 0x4454ff
cmp al, 0xa5
mov byte [ebp - 0x12], bl
jne 0x445503
mov byte [ebp - 0x12], 1
cmp al, 0xa0
je 0x44550e
cmp al, 0xa1
mov byte [ebp - 2], bl
jne 0x445512
mov byte [ebp - 2], 1
cmp al, 0xa2
je 0x44551e
cmp al, 0xa3
je 0x44551e
xor al, al
jmp 0x445520
mov al, 1
test dl, 0x10
mov byte [ebp - 0x18], bl
je 0x44552e
mov byte [ebp - 0x18], 0xa0
jmp 0x445549
test dl, 0x20
je 0x445539
mov byte [ebp - 0x18], 0xa1
jmp 0x445549
cmp byte [ebp + 0x20], bl
jne 0x445549
cmp byte [ebp - 2], bl
je 0x445549
mov cl, byte [ebp + 0x18]
mov byte [ebp - 0x18], cl
test dl, 1
mov byte [ebp - 0x30], bl
je 0x445557
mov byte [ebp - 0x30], 0xa2
jmp 0x445571
test dl, 2
je 0x445562
mov byte [ebp - 0x30], 0xa3
jmp 0x445571
cmp byte [ebp + 0x20], bl
jne 0x445571
cmp al, bl
je 0x445571
mov al, byte [ebp + 0x18]
mov byte [ebp - 0x30], al
cmp byte [ebp - 0x18], bl
mov byte [ebp - 0x1b], bl
je 0x445592
push 0xffc3d44d
push ebx
push ebx
push ebx
push dword [ebp - 0x18]
push 1
call fcn.004104ed
add esp, 0x18
mov byte [ebp - 0x1b], 1
cmp byte [ebp - 0x30], bl
je 0x4455ac
push 0xffc3d44d
push ebx
push ebx
push ebx
push dword [ebp - 0x30]
push 1
call fcn.004104ed
add esp, 0x18
cmp byte [ebp - 0x12], bl
je 0x4455bb
cmp byte [ebp + 0x20], bl
jne 0x4455c2
mov al, byte [ebp + 0x18]
jmp 0x4455be
mov al, byte [ebp - 1]
cmp al, bl
jne 0x4455d8
mov esi, 0xffc3d44d
push esi
push ebx
push ebx
push ebx
push 0x12
push ebx
call fcn.004104ed
add esp, 0x18
jmp 0x4455dd
mov esi, 0xffc3d44d
push esi
push ebx
push ebx
push ebx
push 9
push 2
call fcn.004104ed
add esp, 0x18
cmp byte [ebp - 0x1b], bl
je 0x445607
cmp byte [ebp - 2], bl
jne 0x445607
push esi
push ebx
push ebx
push ebx
push dword [ebp - 0x18]
push ebx
call fcn.004104ed
add esp, 0x18
mov byte [0x46544d], 1
mov edi, 0xffc3d44d
mov esi, dword [0x465448]
mov eax, dword [ebp - 0x10]
add eax, 4
cmp byte [ebp - 0x1a], bl
mov byte [eax], 0x68
mov eax, dword [ebp - 0xc]
je 0x445684
cmp byte [ebp + 0x20], bl
je 0x44574b
cmp byte [eax + 8], bl
je 0x445684
push 0xffc3d44e
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push 1
call fcn.004104ed
push edi
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push 2
call fcn.004104ed
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.00445ece
add esp, 0x54
jmp 0x4457ec
cmp byte [ebp + 0x20], bl
je 0x44574b
cmp byte [eax + 4], bl
je 0x4456b2
cmp byte [eax + 0x10], bl
je 0x4456ab
push ebx
push 0x7fffffff
push dword [ebp - 0x3c]
push dword [ebp - 0x10]
push dword [ebp + 0x20]
jmp 0x4444a5
push 1
jmp 0x445768
cmp byte [ebp - 0x19], bl
jne 0x4456c3
mov ecx, dword [ebp - 0x28]
test byte [ecx], 1
je 0x4457ac
mov esi, dword [ebp + 8]
cmp esi, dword [0x4643fc]
je 0x44572c
mov ecx, dword [eax]
cmp ecx, ebx
je 0x4456dd
cmp dword [ecx], 7
mov byte [ebp + 0xb], 1
jne 0x4456e0
mov byte [ebp + 0xb], bl
cmp byte [eax + 0x10], bl
je 0x445701
cmp byte [ebp - 0x31], bl
jne 0x445701
cmp byte [ebp + 0xb], bl
jne 0x445706
push edi
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push ebx
call fcn.004104ed
add esp, 0x18
cmp byte [ebp + 0xb], bl
je 0x44572c
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.00445ece
add esp, 0x24
jmp 0x4457ec
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 0x4457e4
cmp esi, ebx
mov byte [eax + 0xf], 1
je 0x44575c
cmp byte [esi + 4], bl
je 0x44575c
mov byte [esi + 0x11], 2
cmp byte [ebp - 0x19], bl
je 0x44576d
mov eax, dword [ebp - 0x28]
or byte [eax], 8
push ebx
push dword [ebp - 0x3c]
jmp 0x4457cc
cmp byte [ebp + 0x18], 0xa4
je 0x445779
cmp byte [ebp + 0x18], 0xa5
jne 0x4457ac
mov al, byte [0x4642e4]
test al, 0xc0
je 0x445796
test al, 0x33
jne 0x445796
push edi
push ebx
push ebx
push ebx
push 0x11
push 2
call fcn.004104ed
add esp, 0x18
push edi
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push 1
call fcn.004104ed
mov eax, dword [ebp - 0xc]
add esp, 0x18
cmp byte [ebp + 0x20], bl
jne 0x445697
mov byte [eax + 0x10], 1
jmp 0x445697
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.0044314f
add esp, 0x28
pop edi
pop esi
pop ebx
leave
ret