Function at 0x444bee
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.00444b30
mov byte [ebp - 0x11], al
mov eax, dword [0x466c8c]
xor ebx, ebx
cmp eax, ebx
pop ecx
jne 0x444c27
lea eax, [ebp - 0xb4]
mov dword [ebp - 0x10], eax
jmp 0x444cd5
mov ecx, dword [0x466c90]
mov esi, ecx
imul esi, esi, 0x70
add esi, eax
inc ecx
cmp ecx, dword [0x464070]
mov dword [ebp - 0x10], esi
mov dword [0x466c90], ecx
jl 0x444c4c
mov dword [0x466c90], 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 [0x466c94], eax
sub eax, dword [0x4673b0]
test eax, eax
mov dword [ebp - 0x44], eax
fild dword [ebp - 0x44]
jge 0x444c78
fadd dword [0x45aaac]
fmul dword [0x45aaa8]
fstp dword [esi + 8]
mov eax, dword [0x466c94]
mov dword [0x4673b0], eax
call dword [sym.imp.USER32.dll_GetForegroundWindow]
cmp eax, ebx
mov dword [ebp - 0x28], eax
je 0x444cbd
cmp eax, dword [0x466c98]
je 0x444cb8
push eax
add esi, 0xc
push esi
push 0x418
push dword [0x466254]
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x444ccd
mov byte [esi + 0xc], bl
jmp 0x444ccd
add esi, 0xc
push 0x45aaa4
push esi
call fcn.004572f0
pop ecx
pop ecx
mov eax, dword [ebp - 0x28]
mov dword [0x466c98], eax
cmp byte [ebp + 0x18], 0x9c
mov eax, dword [ebp - 0x10]
mov cx, word [ebp + 0x1c]
mov word [eax + 2], cx
jb 0x444cef
cmp byte [ebp + 0x18], 0x9f
ja 0x444cef
mov dword [ebp + 0x1c], ebx
mov eax, dword [ebp + 8]
cmp eax, dword [0x46638c]
jne 0x444d22
mov al, byte [ebp + 0x28]
and al, 1
jne 0x444ee5
cmp byte [ebp + 0x20], bl
movzx edx, byte [ebp + 0x18]
setne cl
dec cl
and ecx, 0x80
mov byte [edx + 0x466278], cl
jmp 0x444ee5
mov eax, dword [ebp + 0x28]
shr eax, 4
and al, 1
test byte [ebp + 0x1d], 1
mov byte [ebp - 2], al
jne 0x444d92
push 0x90
call dword [sym.imp.USER32.dll_GetKeyState]
test al, 1
je 0x444d92
movzx eax, byte [ebp + 0x18]
cmp eax, 0x60
jg 0x444e1e
je 0x444e0e
cmp eax, 0x25
jg 0x444ded
je 0x444e4a
sub eax, 0xc
je 0x444e3a
sub eax, 0x15
je 0x444ec2
dec eax
je 0x444e5a
dec eax
je 0x444e7a
dec eax
jne 0x444d92
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x4673c0], al
movzx esi, byte [ebp + 0x18]
mov ecx, dword [0x467400]
lea eax, [esi + esi*8]
shl eax, 5
cmp byte [eax + ecx + 4], bl
jne 0x444dda
push dword [ebp + 0x20]
push dword [ebp + 0x18]
push dword [ebp + 0x28]
call fcn.00444b6f
add esp, 0xc
test al, al
je 0x444ee2
cmp byte [ebp + 0x20], bl
mov ecx, dword [0x467400]
setne al
dec al
and eax, 0x80
mov byte [esi + 0x466278], al
mov al, byte [ebp - 2]
cmp byte [ebp - 0x11], bl
je 0x444ef0
mov al, 0x69
jmp 0x444efb
sub eax, 0x26
je 0x444ed2
dec eax
je 0x444e8a
dec eax
je 0x444e6a
sub eax, 5
je 0x444e0e
dec eax
je 0x444eb2
jmp 0x444d92
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x4673b9], al
jmp 0x444d92
cmp eax, 0x66
jg 0x444e9a
je 0x444e8a
sub eax, 0x61
je 0x444e7a
dec eax
je 0x444e6a
dec eax
je 0x444e5a
dec eax
je 0x444e4a
dec eax
jne 0x444d92
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x4673be], al
jmp 0x444d92
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x4673bd], al
jmp 0x444d92
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x4673bc], al
jmp 0x444d92
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x4673bb], al
jmp 0x444d92
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x4673ba], al
jmp 0x444d92
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x4673bf], al
jmp 0x444d92
sub eax, 0x67
je 0x444d87
dec eax
je 0x444ed2
dec eax
je 0x444ec2
sub eax, 5
jne 0x444d92
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x4673b8], al
jmp 0x444d92
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x4673c2], al
jmp 0x444d92
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x4673c1], al
jmp 0x444d92
mov al, byte [ebp - 2]
mov ecx, dword [0x467400]
jmp 0x444ddd
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 [0x466378], bl
je 0x444f38
cmp byte [ebp + 0x18], 0x5b
je 0x444f17
cmp byte [ebp + 0x18], 0x5c
jne 0x444f38
cmp byte [ebp + 0x20], bl
jne 0x444f38
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 0x4461a1
cmp byte [0x4673e5], bl
je 0x444fbb
cmp byte [ebp + 0x18], 0x1b
jne 0x444fbb
cmp byte [ebp + 0x20], bl
jne 0x444fbb
push ebx
push str.32771
call dword [sym.imp.USER32.dll_FindWindowA]
cmp eax, ebx
je 0x444fb5
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 0x444fb5
mov esi, 0xffc3d44d
push esi
push ebx
push ebx
push ebx
push 0x1b
push ebx
call fcn.00412b58
xor eax, eax
mov al, byte [0x466270]
shr al, 3
push esi
push ebx
push ebx
push ebx
and eax, 0xffffff01
or eax, 0xa4
push eax
push 1
call fcn.00412b58
push ebx
push 0x7fffffff
push edi
push dword [ebp - 0x10]
push ebx
push dword [ebp + 0x1c]
push 0x1b
jmp 0x4460f3
mov ecx, dword [0x467400]
movzx eax, word [ebp + 0x1c]
mov edx, dword [0x467404]
lea eax, [eax + eax*8]
shl eax, 5
lea esi, [eax + edx]
mov edx, dword [ebp + 8]
cmp edx, dword [0x466388]
mov al, byte [esi + 0x12]
mov byte [ebp - 0x30], al
jne 0x444fe3
cmp al, bl
jne 0x444fef
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 0x445027
cmp dword [ebp + 0x24], 0xffc3d44e
jne 0x44624c
cmp byte [ebp + 0x20], bl
je 0x44624c
cmp dword [0x4673e0], esi
jne 0x44624c
mov byte [esi + 0xc], bl
mov dword [0x4673e0], ebx
jmp 0x446249
cmp byte [ebp + 0x20], bl
jne 0x445033
mov byte [esi + 0x10], bl
mov word [esi + 6], di
mov eax, dword [0x466388]
cmp dword [ebp + 8], eax
jne 0x4450db
cmp byte [ebp + 0x20], bl
je 0x445133
cmp byte [0x4673e9], bl
je 0x445058
cmp byte [ebp + 0x18], 0x5b
je 0x44508a
cmp byte [0x4673e8], bl
je 0x445066
cmp byte [ebp + 0x18], 0x5c
je 0x44508a
cmp byte [0x4673e7], bl
je 0x445074
cmp byte [ebp + 0x18], 0xa4
je 0x44508a
cmp byte [0x4673e6], bl
je 0x445133
cmp byte [ebp + 0x18], 0xa5
jne 0x445133
movzx eax, byte [ebp + 0x18]
sub eax, 0x5b
je 0x4450b6
dec eax
je 0x4450ae
sub eax, 0x48
je 0x4450a6
dec eax
jne 0x4450bc
mov byte [0x4673e6], bl
jmp 0x4450bc
mov byte [0x4673e7], bl
jmp 0x4450bc
mov byte [0x4673e8], bl
jmp 0x4450bc
mov byte [0x4673e9], bl
test byte [0x466270], 3
jne 0x445133
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x11
push 2
call fcn.00412b58
add esp, 0x18
jmp 0x44512d
cmp byte [ebp + 0x18], bl
jne 0x4450f1
push ebx
push edi
push dword [ebp - 0x10]
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push ebx
jmp 0x44625a
cmp byte [ebp + 0x18], 1
je 0x4450fd
cmp byte [ebp + 0x18], 2
jne 0x445133
cmp dword [0x4663cc], ebx
jne 0x446240
push ebx
push str.32768
call dword [sym.imp.USER32.dll_FindWindowA]
cmp eax, ebx
je 0x44512d
push ebx
push eax
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
cmp eax, dword [0x466c9c]
je 0x446240
mov ecx, dword [0x467400]
mov esi, dword [0x4673e0]
cmp esi, ebx
mov eax, dword [ebp - 0xc]
je 0x44516a
cmp esi, eax
je 0x44516a
cmp byte [ebp + 0x20], bl
jne 0x44516a
mov edx, dword [0x466388]
cmp dword [ebp + 8], edx
jne 0x44515e
xor edx, edx
cmp byte [eax + 4], bl
sete dl
jmp 0x445162
movzx edx, byte [esi + 4]
cmp edx, ebx
je 0x44516a
mov byte [esi + 0x11], 1
cmp byte [eax + 8], bl
jne 0x445178
cmp byte [eax + 9], bl
je 0x44624c
cmp byte [ebp + 0x20], bl
mov byte [ebp - 0x31], bl
mov dword [ebp - 8], edi
mov byte [ebp - 0x12], bl
je 0x4451ae
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 0x4451ab
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 [0x466388]
cmp dword [ebp + 8], edx
mov byte [ebp - 2], bl
jne 0x445224
cmp byte [eax + 4], bl
je 0x44524d
cmp byte [ecx + 0xb64c], bl
jne 0x4451df
cmp byte [ecx + 0xb76c], bl
jne 0x4451df
xor edx, edx
jmp 0x4451e2
xor edx, edx
inc edx
cmp byte [ecx + 0xb88c], bl
mov byte [ecx + 0x132c], dl
jne 0x4451fc
cmp byte [ecx + 0xb9ac], bl
jne 0x4451fc
xor edx, edx
jmp 0x4451ff
xor edx, edx
inc edx
cmp byte [ecx + 0xb40c], bl
mov byte [ecx + 0x144c], dl
jne 0x445219
cmp byte [ecx + 0xb52c], bl
jne 0x445219
xor edx, edx
jmp 0x44521c
xor edx, edx
inc edx
mov byte [ecx + 0x120c], dl
jmp 0x44524d
cmp edx, ebx
jne 0x44524d
push 1
call fcn.004123b3
mov esi, dword [0x4673e0]
pop ecx
mov ecx, dword [0x467400]
mov byte [0x466271], al
mov byte [0x466270], al
mov eax, dword [ebp - 0xc]
mov byte [ebp - 2], 1
mov edx, dword [eax]
cmp edx, ebx
je 0x44525c
cmp dword [edx], 7
mov byte [ebp - 0x1a], 1
je 0x44525f
mov byte [ebp - 0x1a], bl
mov dl, byte [eax + 8]
cmp dl, bl
je 0x4453d1
cmp byte [ebp + 0x20], bl
jne 0x4453d1
cmp esi, ebx
je 0x445284
cmp byte [eax + 9], bl
je 0x445284
cmp eax, esi
jne 0x4453d1
cmp dl, 1
jne 0x4452ba
cmp byte [ebp - 0x30], bl
movzx eax, word [ebp + 0x1c]
jne 0x445296
movzx eax, byte [ebp + 0x18]
push dword [ebp - 0x30]
push eax
call fcn.00411649
test al, al
mov esi, dword [0x4673e0]
pop ecx
pop ecx
mov ecx, dword [0x467400]
je 0x4452ba
mov eax, dword [ebp - 0xc]
mov byte [ebp - 0x11], 1
jmp 0x4452cf
mov eax, dword [ebp - 0xc]
cmp eax, esi
mov byte [ebp - 0x11], bl
je 0x4452cf
mov esi, eax
mov dword [0x4673e0], esi
mov byte [eax + 0x11], bl
cmp byte [eax + 9], bl
je 0x445397
cmp byte [ebp - 2], bl
jne 0x4452f8
push 1
mov byte [ebp - 2], 1
call fcn.004123b3
mov esi, dword [0x4673e0]
mov eax, dword [ebp - 0xc]
pop ecx
mov ecx, dword [0x467400]
mov dl, byte [0x466271]
mov byte [ebp - 1], dl
mov dl, byte [eax + 4]
cmp dl, bl
je 0x445318
not dl
mov cl, dl
and byte [ebp - 1], cl
mov ecx, dword [0x467400]
mov byte [ebp - 0x3d], dl
cmp byte [ebp - 1], bl
jne 0x445322
cmp byte [ebp - 0x11], bl
je 0x445397
mov ecx, dword [0x466388]
cmp dword [ebp + 8], ecx
jne 0x44534b
cmp byte [ebp - 0x30], bl
je 0x44534b
movzx edx, byte [ebp - 1]
movzx ecx, word [ebp + 0x1c]
shl edx, 8
add edx, ecx
mov ecx, dword [0x4673f8]
movzx ecx, word [ecx + edx*2]
jmp 0x445362
movzx ecx, byte [ebp - 1]
movzx edx, byte [ebp + 0x18]
shl ecx, 8
add ecx, edx
mov edx, dword [0x4673f4]
movzx ecx, word [edx + ecx*2]
test ch, 0x40
mov dword [ebp - 8], ecx
je 0x445373
mov word [eax + 6], cx
mov dword [ebp - 8], edi
jmp 0x4453a0
mov edx, dword [0x465200]
and ecx, edi
cmp cx, word [edx]
jae 0x445391
mov edx, dword [0x4673fc]
movzx ecx, cx
mov cx, word [edx + ecx*2]
mov word [eax + 6], cx
mov ecx, dword [0x467400]
cmp word [ebp - 8], di
jne 0x4453d1
mov eax, dword [ebp - 0xc]
cmp byte [ebp - 0x11], bl
je 0x4453b2
or byte [eax + 0xb], 8
mov ecx, dword [ebp - 0x10]
add ecx, 4
mov byte [ecx], 0x23
cmp byte [eax + 4], bl
jne 0x4453cb
test byte [eax + 0xb], 1
jne 0x4453cb
cmp byte [ebp - 0x1a], bl
jne 0x4453cb
cmp byte [ebp - 0x11], bl
je 0x444f1c
push ebx
jmp 0x445d14
mov edx, dword [ebp - 0xc]
cmp byte [edx + 9], bl
mov byte [ebp - 0x11], bl
je 0x445423
cmp byte [ebp + 0x20], bl
je 0x445423
cmp esi, edx
jne 0x4453f2
cmp byte [ebp - 0x1b], bl
je 0x445423
xor esi, esi
mov dword [0x4673e0], esi
cmp byte [edx + 0xa], bl
jne 0x44541f
mov al, byte [edx + 0xb]
test al, 8
je 0x445407
xor cl, cl
and al, 0xf7
mov byte [edx + 0xb], al
jmp 0x445409
mov cl, 1
cmp byte [ebp - 0x1b], bl
je 0x44624c
cmp cl, bl
je 0x44624c
jmp 0x445ce5
mov byte [ebp - 0x11], 1
cmp byte [edx + 8], bl
je 0x44555e
cmp byte [ebp + 0x20], bl
je 0x44555e
cmp esi, edx
jne 0x445441
xor esi, esi
mov dword [0x4673e0], esi
cmp byte [edx + 0xd], bl
je 0x44546f
mov eax, dword [ebp - 0xc]
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x12
push 1
mov byte [eax + 0xd], bl
call fcn.00412b58
mov ecx, dword [0x467400]
mov esi, dword [0x4673e0]
mov edx, dword [ebp - 0xc]
add esp, 0x18
cmp byte [edx + 0xe], bl
je 0x44549d
mov eax, dword [ebp - 0xc]
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x10
push 1
mov byte [eax + 0xe], bl
call fcn.00412b58
mov ecx, dword [0x467400]
mov esi, dword [0x4673e0]
mov edx, dword [ebp - 0xc]
add esp, 0x18
cmp word [ebp - 8], di
jne 0x4454b7
mov al, byte [edx + 0xb]
test al, 8
je 0x4454b7
mov ecx, dword [ebp - 0xc]
and al, 0xf7
mov byte [ecx + 0xb], al
jmp 0x44624c
cmp byte [ebp - 0x1a], bl
mov al, byte [edx + 0x11]
je 0x44551c
cmp al, 2
jne 0x4454f7
push 0xffc3d44e
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push 1
call fcn.00412b58
push 0xffc3d44d
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push 2
call fcn.00412b58
push ebx
push 0x7fffffff
push edi
jmp 0x4460e7
cmp al, 1
je 0x44624c
cmp byte [edx + 9], bl
jne 0x445550
cmp byte [edx + 4], bl
jne 0x44624c
test byte [edx + 0xb], 1
jne 0x44624c
jmp 0x445cdc
cmp al, bl
je 0x4454ff
cmp word [ebp - 8], di
jne 0x4454ff
cmp byte [edx + 4], bl
je 0x44553a
cmp al, 2
jne 0x44624c
push 1
jmp 0x44624d
test byte [edx + 0xb], 1
push ebx
jne 0x44624d
push 0x7fffffff
push edi
jmp 0x446122
cmp byte [ebp - 0x21], bl
jne 0x44555e
cmp byte [edx + 0xa], bl
je 0x44624c
cmp byte [ebp - 2], bl
jne 0x445580
cmp word [ebp - 8], di
jne 0x445580
push 1
call fcn.004123b3
mov esi, dword [0x4673e0]
mov edx, dword [ebp - 0xc]
pop ecx
mov ecx, dword [0x467400]
cmp esi, ebx
mov byte [ebp - 0x19], bl
je 0x445afe
cmp byte [ebp + 0x20], bl
je 0x445599
cmp byte [edx + 0xa], bl
je 0x445afe
cmp word [ebp - 8], di
jne 0x445c2e
cmp byte [edx + 0x13], bl
mov dword [ebp - 0x20], ebx
jbe 0x44567c
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 0x4455fa
mov eax, dword [ebp - 0x18]
movzx eax, word [eax + 2]
test ah, 0x40
mov dword [ebp - 0x28], eax
je 0x4455e7
cmp byte [ebp + 0x20], bl
jne 0x44560f
mov word [edx + 6], ax
cmp word [ebp - 8], di
jne 0x445628
jmp 0x4455fa
cmp byte [ebp + 0x20], bl
jne 0x4455fa
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 0x4455b5
jmp 0x445622
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 0x44567c
movzx esi, byte [ebp - 1]
mov eax, esi
sub eax, 0x10
je 0x44565d
dec eax
je 0x44564b
dec eax
jne 0x44566f
xor eax, eax
cmp byte [ecx + 0xb9ac], bl
setne al
add eax, 0xa4
jmp 0x44566d
xor eax, eax
cmp byte [ecx + 0xb76c], bl
setne al
add eax, 0xa2
jmp 0x44566d
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 0x445715
cmp byte [edx + 0x14], bl
mov dword [ebp - 0x20], ebx
jbe 0x445725
add edx, 0xde
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
movzx eax, word [eax]
mov edx, dword [0x467404]
lea eax, [eax + eax*8]
shl eax, 5
cmp byte [eax + edx + 0xc], bl
je 0x4456d8
mov edx, dword [ebp - 0x18]
mov ax, word [edx + 2]
test ah, 0x40
je 0x4456c9
cmp byte [ebp + 0x20], bl
jne 0x4456ed
mov edx, dword [ebp - 0xc]
mov word [edx + 6], ax
cmp word [ebp - 8], di
jne 0x445705
jmp 0x4456db
cmp byte [ebp + 0x20], bl
jne 0x4456d8
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 0x445691
jmp 0x4456fc
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 0x445725
movzx esi, word [ebp - 0x2c]
lea esi, [esi + esi*8]
shl esi, 5
add esi, dword [0x467404]
cmp word [ebp - 8], di
mov dword [0x4673e0], esi
jne 0x4458e2
cmp byte [ebp + 0x18], 0xa0
jb 0x4458e2
cmp byte [ebp + 0x18], 0xa1
jbe 0x44574d
cmp byte [ebp + 0x18], 0xa3
jbe 0x445749
cmp byte [ebp + 0x18], 0xa5
ja 0x4458e2
mov al, 0x12
jmp 0x44574f
mov al, 0x11
jmp 0x44574f
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 0x4457dd
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 0x4457b6
mov eax, dword [ebp - 0x18]
movzx eax, word [eax + 2]
test ah, 0x40
mov dword [ebp - 0x44], eax
je 0x4457a6
cmp byte [ebp + 0x20], bl
jne 0x4457ca
mov word [edx + 6], ax
cmp word [ebp - 8], di
jne 0x4457e3
jmp 0x4457b6
cmp byte [ebp + 0x20], bl
jne 0x4457b6
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 0x445774
jmp 0x4457dd
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 0x445837
movzx esi, byte [ebp - 1]
mov eax, esi
sub eax, 0x10
je 0x445825
dec eax
je 0x445806
dec eax
jne 0x445818
xor eax, eax
cmp byte [ecx + 0xb9ac], bl
setne al
add eax, 0xa4
jmp 0x445816
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 0x4458dc
xor eax, eax
cmp byte [ecx + 0xb52c], bl
setne al
add eax, 0xa0
jmp 0x445816
mov eax, dword [ebp - 0x28]
movzx eax, byte [eax + 0x14]
cmp eax, ebx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x20], ebx
jle 0x4458e2
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 [0x467404]
lea eax, [eax + eax*8]
shl eax, 5
cmp byte [eax + edx + 0xc], bl
mov edx, dword [ebp - 0x18]
je 0x4458a1
mov ax, word [edx + 2]
test ah, 0x40
je 0x445892
cmp byte [ebp + 0x20], bl
jne 0x4458b4
mov edx, dword [ebp - 0xc]
mov word [edx + 6], ax
cmp word [ebp - 8], di
jne 0x4458cc
mov edx, dword [ebp - 0x18]
jmp 0x4458a1
cmp byte [ebp + 0x20], bl
jne 0x4458a1
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 0x445857
jmp 0x4458c3
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 0x4458e2
movzx esi, word [ebp - 0x2c]
lea esi, [esi + esi*8]
shl esi, 5
add esi, dword [0x467404]
mov dword [0x4673e0], esi
mov eax, dword [ebp - 8]
and eax, edi
cmp word [ebp - 8], di
mov dword [ebp - 0x2c], eax
je 0x445942
mov edx, dword [0x465200]
cmp ax, word [edx]
jae 0x44593b
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.00410338
add esp, 0x14
cmp al, bl
mov byte [ebp - 0x12], al
je 0x445c88
mov eax, dword [ebp - 8]
mov ecx, dword [0x467400]
mov esi, dword [0x4673e0]
and eax, edi
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0xc]
mov byte [esi + 0x11], 2
cmp ax, 0x3ffe
je 0x445952
cmp ax, 0x3ffd
jne 0x445afe
cmp byte [ebp + 0x20], bl
jne 0x44595b
mov byte [edx + 0xf], 1
test byte [0x466270], 0xc
jne 0x445980
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x12
push ebx
call fcn.00412b58
mov esi, dword [0x4673e0]
mov eax, dword [ebp - 0x2c]
add esp, 0x18
cmp byte [ebp + 0x18], 0xa2
je 0x44598c
cmp byte [ebp + 0x18], 0xa3
jne 0x4459b1
cmp byte [ebp + 0x20], bl
jne 0x4459b1
push 0xffc3d44d
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push 1
call fcn.00412b58
mov esi, dword [0x4673e0]
mov eax, dword [ebp - 0x2c]
add esp, 0x18
cmp ax, 0x3ffd
mov byte [esi + 0xd], 1
jne 0x4459e3
test byte [0x466270], 0x30
jne 0x4459dd
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x10
push ebx
call fcn.00412b58
mov esi, dword [0x4673e0]
add esp, 0x18
mov byte [esi + 0xe], 1
jmp 0x445a51
cmp ax, 0x3ffe
jne 0x445a51
cmp byte [ebp + 0x18], 0xa0
je 0x4459f5
cmp byte [ebp + 0x18], 0xa1
jne 0x445a11
cmp byte [ebp + 0x20], bl
jne 0x445a11
push 0xffc3d44d
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push 1
call fcn.00412b58
add esp, 0x18
test byte [0x466270], 0x10
je 0x445a31
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0xa0
push 1
call fcn.00412b58
add esp, 0x18
test byte [0x466270], 0x20
je 0x445a51
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0xa1
push 1
call fcn.00412b58
add esp, 0x18
test byte [0x466270], 1
je 0x445a71
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0xa2
push 1
call fcn.00412b58
add esp, 0x18
test byte [0x466270], 2
mov esi, 0xffc3d44d
je 0x445a92
push esi
push ebx
push ebx
push ebx
push 0xa3
push 1
call fcn.00412b58
add esp, 0x18
push esi
push ebx
push ebx
push ebx
push 9
push 2
call fcn.00412b58
add esp, 0x18
cmp word [ebp - 0x2c], 0x3ffd
jne 0x445ade
mov eax, dword [0x4673e0]
cmp byte [eax + 0xe], bl
je 0x445ade
cmp byte [ebp + 0x18], 0x60
jb 0x445ac0
cmp byte [ebp + 0x18], 0x69
jbe 0x445ac6
cmp byte [ebp + 0x18], 0x6e
jne 0x445ade
push esi
push ebx
push ebx
push ebx
push 0x10
push 1
call fcn.00412b58
mov eax, dword [0x4673e0]
add esp, 0x18
mov byte [eax + 0xe], bl
cmp byte [ebp + 0x20], bl
mov eax, dword [ebp - 0x10]
mov byte [eax + 4], 0x68
jne 0x445af1
mov ecx, dword [ebp - 0xc]
mov byte [ecx + 0x10], 1
push ebx
push 0x7fffffff
push edi
push eax
jmp 0x446125
cmp word [ebp - 8], di
jne 0x445c2e
mov dl, byte [edx + 4]
cmp dl, bl
mov al, byte [0x466271]
mov byte [ebp - 1], al
je 0x445b21
not dl
mov al, dl
and byte [ebp - 1], al
mov byte [ebp - 0x21], dl
mov eax, dword [ebp + 8]
cmp eax, dword [0x466388]
jne 0x445b49
cmp byte [ebp - 0x30], bl
je 0x445b49
movzx edx, byte [ebp - 1]
movzx eax, word [ebp + 0x1c]
shl edx, 8
add edx, eax
mov eax, dword [0x4673f8]
mov ax, word [eax + edx*2]
jmp 0x445b60
movzx eax, byte [ebp - 1]
movzx edx, byte [ebp + 0x18]
shl eax, 8
add eax, edx
mov edx, dword [0x4673f4]
mov ax, word [edx + eax*2]
cmp ax, di
mov word [ebp - 8], ax
jne 0x445bd0
cmp byte [0x4673e5], bl
je 0x445bd0
cmp byte [ebp + 0x18], 9
je 0x445bd0
mov eax, dword [0x466388]
and byte [ebp - 1], 0xf3
cmp dword [ebp + 8], eax
jne 0x445ba2
cmp byte [ebp - 0x30], bl
je 0x445ba2
movzx edx, byte [ebp - 1]
movzx eax, word [ebp + 0x1c]
shl edx, 8
add edx, eax
mov eax, dword [0x4673f8]
mov ax, word [eax + edx*2]
jmp 0x445bb9
movzx eax, byte [ebp - 1]
movzx edx, byte [ebp + 0x18]
shl eax, 8
add eax, edx
mov edx, dword [0x4673f4]
mov ax, word [edx + eax*2]
mov word [ebp - 8], ax
mov eax, dword [ebp - 8]
and eax, edi
cmp ax, 0x3ff9
jbe 0x445bcd
cmp ax, di
jb 0x445bd0
mov dword [ebp - 8], edi
mov eax, dword [ebp - 8]
test ah, 0x40
je 0x445be9
cmp byte [ebp + 0x20], bl
mov edx, dword [ebp - 0xc]
jne 0x445c24
mov word [edx + 6], ax
mov dword [ebp - 8], edi
jmp 0x445c24
cmp ax, di
je 0x445cb8
mov edx, dword [0x465200]
and eax, edi
cmp byte [ebp + 0x20], bl
je 0x445c9a
cmp ax, word [edx]
jae 0x445c90
mov edx, dword [0x4673fc]
movzx eax, ax
movzx eax, word [edx + eax*2]
cmp ax, di
je 0x445c90
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0xc]
cmp word [ebp - 8], di
je 0x445cbb
lea eax, [edx + 0xb]
test byte [eax], 8
mov dword [ebp - 0x28], eax
je 0x445c45
cmp byte [ebp + 0x20], bl
je 0x445c45
mov byte [ebp - 0x19], 1
and byte [eax], 0xf7
mov eax, dword [ebp - 8]
mov edx, dword [0x465200]
and ax, di
cmp ax, word [edx]
jae 0x445d2a
cmp byte [ebp - 0x12], bl
jne 0x445d2a
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.00410338
add esp, 0x14
test al, al
jne 0x445d1e
push ebx
push edi
push esi
jmp 0x446251
cmp byte [ebp - 0x11], bl
je 0x445c21
mov dword [ebp - 8], edi
jmp 0x445c21
cmp ax, word [edx]
jae 0x445c21
mov edx, dword [0x4673fc]
movzx eax, ax
mov ax, word [edx + eax*2]
mov edx, dword [ebp - 0xc]
mov word [edx + 6], ax
jmp 0x445c24
mov edx, dword [ebp - 0xc]
cmp byte [ebp + 0x20], bl
je 0x445ceb
cmp byte [edx + 4], bl
jne 0x44624c
test byte [edx + 0xb], 1
jne 0x44624c
cmp byte [edx + 8], bl
je 0x44624c
cmp byte [ebp - 0x1a], bl
jne 0x44624c
push ebx
jmp 0x445545
lea eax, [edx + 6]
cmp word [eax], di
push ebx
je 0x445d14
lea ecx, [ebp - 0x19]
push ecx
mov ecx, dword [ebp - 0xc]
add ecx, 0xb
push ecx
push 1
push eax
call fcn.00410338
add esp, 0x14
cmp byte [ebp - 0x19], bl
push ebx
je 0x444f1d
push edi
push dword [ebp - 0x10]
push ebx
jmp 0x446254
mov ecx, dword [0x467400]
mov esi, dword [0x4673e0]
mov eax, dword [ebp - 8]
mov dl, byte [0x466270]
and eax, edi
mov dword [ebp - 0x38], eax
mov eax, dword [0x466388]
cmp dword [ebp + 8], eax
jne 0x445d88
test dl, 0x3f
jne 0x445d6e
test dl, 0x40
je 0x445d5b
cmp byte [ecx + 0x6668], bl
jne 0x445d5b
mov byte [0x4673e9], 1
test dl, dl
jns 0x445d6e
cmp byte [ecx + 0x6788], bl
jne 0x445d6e
mov byte [0x4673e8], 1
test dl, 4
je 0x445da3
cmp byte [ecx + 0xb888], bl
jne 0x445da3
cmp eax, ebx
je 0x445dca
mov byte [0x4673e7], 1
jmp 0x445dea
test dl, 0xc
jne 0x445d6e
test dl, 0x40
je 0x445d5b
cmp byte [ecx + 0x6668], bl
jne 0x445d5b
mov byte [0x4673e9], 1
jmp 0x445d6e
test dl, 8
je 0x445dea
cmp byte [ecx + 0xb9a8], bl
jne 0x445dea
call fcn.00411e6c
test al, al
jne 0x445dde
cmp dword [0x466388], ebx
je 0x445dca
mov byte [0x4673e6], 1
jmp 0x445dde
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x11
push 2
call fcn.00412b58
add esp, 0x18
mov dl, byte [0x466270]
mov esi, dword [0x4673e0]
movzx ecx, word [ebp - 0x38]
mov eax, 0x3ffa
cmp ecx, eax
je 0x445e1d
jle 0x445e0d
cmp ecx, 0x3ffc
jle 0x445e29
cmp ecx, 0x3ffe
jle 0x445eab
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x3c], eax
mov edi, 0xffc3d44d
jmp 0x44609b
cmp byte [0x4673e5], bl
je 0x44624c
test dl, 4
mov byte [ebp - 1], bl
je 0x445e37
mov byte [ebp - 1], 0xa4
jmp 0x445e40
test dl, 8
je 0x445e40
mov byte [ebp - 1], 0xa5
cmp byte [0x4673e5], bl
je 0x445f73
cmp word [ebp - 0x38], 0x3ffb
je 0x445eab
cmp byte [ebp - 1], bl
je 0x445e5f
movzx eax, byte [ebp - 1]
jmp 0x445e62
push 0x12
pop eax
mov esi, 0xffc3d44d
push esi
push ebx
push ebx
push ebx
push eax
push 1
call fcn.00412b58
mov eax, dword [ebp - 0xc]
add esp, 0x18
cmp byte [eax + 4], bl
je 0x445ea0
cmp byte [ebp + 0x18], 0x5b
je 0x445ea0
cmp byte [ebp + 0x18], 0x5c
je 0x445ea0
cmp byte [ebp + 0x20], bl
jne 0x445ea0
push esi
push ebx
push ebx
push ebx
push dword [ebp + 0x18]
push 1
call fcn.00412b58
add esp, 0x18
mov byte [0x4673e5], bl
jmp 0x446090
cmp byte [0x4673e5], bl
je 0x44624c
cmp byte [ebp + 0x20], bl
jne 0x445eea
mov al, byte [ebp + 0x18]
cmp al, 0xa2
je 0x445ecf
cmp al, 0xa3
je 0x445ecf
cmp al, 0xa0
je 0x445ecf
cmp al, 0xa1
jne 0x445eea
push 0xffc3d44d
push ebx
push ebx
push ebx
push dword [ebp + 0x18]
push 1
call fcn.00412b58
mov dl, byte [0x466270]
add esp, 0x18
test dl, 0xc
je 0x445f00
cmp byte [ebp + 0x20], bl
je 0x445f19
cmp byte [ebp + 0x18], 0xa4
je 0x445f00
cmp byte [ebp + 0x18], 0xa5
jne 0x445f19
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x12
push ebx
call fcn.00412b58
mov dl, byte [0x466270]
add esp, 0x18
cmp word [ebp - 0x38], 0x3ffd
mov byte [ebp - 0x12], bl
jne 0x445f40
test dl, 0x30
jne 0x445f40
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x10
push ebx
call fcn.00412b58
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.00412b58
add esp, 0x18
cmp byte [ebp - 0x12], bl
je 0x446095
push edi
push ebx
push ebx
push ebx
push 0x10
push 1
call fcn.00412b58
add esp, 0x18
jmp 0x446095
mov al, byte [ebp + 0x18]
cmp al, 0xa4
je 0x445f81
cmp al, 0xa5
mov byte [ebp - 0x12], bl
jne 0x445f85
mov byte [ebp - 0x12], 1
cmp al, 0xa0
je 0x445f90
cmp al, 0xa1
mov byte [ebp - 2], bl
jne 0x445f94
mov byte [ebp - 2], 1
cmp al, 0xa2
je 0x445fa0
cmp al, 0xa3
je 0x445fa0
xor al, al
jmp 0x445fa2
mov al, 1
test dl, 0x10
mov byte [ebp - 0x18], bl
je 0x445fb0
mov byte [ebp - 0x18], 0xa0
jmp 0x445fcb
test dl, 0x20
je 0x445fbb
mov byte [ebp - 0x18], 0xa1
jmp 0x445fcb
cmp byte [ebp + 0x20], bl
jne 0x445fcb
cmp byte [ebp - 2], bl
je 0x445fcb
mov cl, byte [ebp + 0x18]
mov byte [ebp - 0x18], cl
test dl, 1
mov byte [ebp - 0x30], bl
je 0x445fd9
mov byte [ebp - 0x30], 0xa2
jmp 0x445ff3
test dl, 2
je 0x445fe4
mov byte [ebp - 0x30], 0xa3
jmp 0x445ff3
cmp byte [ebp + 0x20], bl
jne 0x445ff3
cmp al, bl
je 0x445ff3
mov al, byte [ebp + 0x18]
mov byte [ebp - 0x30], al
cmp byte [ebp - 0x18], bl
mov byte [ebp - 0x1b], bl
je 0x446014
push 0xffc3d44d
push ebx
push ebx
push ebx
push dword [ebp - 0x18]
push 1
call fcn.00412b58
add esp, 0x18
mov byte [ebp - 0x1b], 1
cmp byte [ebp - 0x30], bl
je 0x44602e
push 0xffc3d44d
push ebx
push ebx
push ebx
push dword [ebp - 0x30]
push 1
call fcn.00412b58
add esp, 0x18
cmp byte [ebp - 0x12], bl
je 0x44603d
cmp byte [ebp + 0x20], bl
jne 0x446044
mov al, byte [ebp + 0x18]
jmp 0x446040
mov al, byte [ebp - 1]
cmp al, bl
jne 0x44605a
mov esi, 0xffc3d44d
push esi
push ebx
push ebx
push ebx
push 0x12
push ebx
call fcn.00412b58
add esp, 0x18
jmp 0x44605f
mov esi, 0xffc3d44d
push esi
push ebx
push ebx
push ebx
push 9
push 2
call fcn.00412b58
add esp, 0x18
cmp byte [ebp - 0x1b], bl
je 0x446089
cmp byte [ebp - 2], bl
jne 0x446089
push esi
push ebx
push ebx
push ebx
push dword [ebp - 0x18]
push ebx
call fcn.00412b58
add esp, 0x18
mov byte [0x4673e5], 1
mov edi, 0xffc3d44d
mov esi, dword [0x4673e0]
mov eax, dword [ebp - 0x10]
add eax, 4
cmp byte [ebp - 0x1a], bl
mov byte [eax], 0x68
mov eax, dword [ebp - 0xc]
je 0x446106
cmp byte [ebp + 0x20], bl
je 0x4461cd
cmp byte [eax + 8], bl
je 0x446106
push 0xffc3d44e
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push 1
call fcn.00412b58
push edi
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push 2
call fcn.00412b58
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.00446993
add esp, 0x54
jmp 0x44626e
cmp byte [ebp + 0x20], bl
je 0x4461cd
cmp byte [eax + 4], bl
je 0x446134
cmp byte [eax + 0x10], bl
je 0x44612d
push ebx
push 0x7fffffff
push dword [ebp - 0x3c]
push dword [ebp - 0x10]
push dword [ebp + 0x20]
jmp 0x444f27
push 1
jmp 0x4461ea
cmp byte [ebp - 0x19], bl
jne 0x446145
mov ecx, dword [ebp - 0x28]
test byte [ecx], 1
je 0x44622e
mov esi, dword [ebp + 8]
cmp esi, dword [0x46638c]
je 0x4461ae
mov ecx, dword [eax]
cmp ecx, ebx
je 0x44615f
cmp dword [ecx], 7
mov byte [ebp + 0xb], 1
jne 0x446162
mov byte [ebp + 0xb], bl
cmp byte [eax + 0x10], bl
je 0x446183
cmp byte [ebp - 0x31], bl
jne 0x446183
cmp byte [ebp + 0xb], bl
jne 0x446188
push edi
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push ebx
call fcn.00412b58
add esp, 0x18
cmp byte [ebp + 0xb], bl
je 0x4461ae
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.00446993
add esp, 0x24
jmp 0x44626e
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 0x446266
cmp esi, ebx
mov byte [eax + 0xf], 1
je 0x4461de
cmp byte [esi + 4], bl
je 0x4461de
mov byte [esi + 0x11], 2
cmp byte [ebp - 0x19], bl
je 0x4461ef
mov eax, dword [ebp - 0x28]
or byte [eax], 8
push ebx
push dword [ebp - 0x3c]
jmp 0x44624e
cmp byte [ebp + 0x18], 0xa4
je 0x4461fb
cmp byte [ebp + 0x18], 0xa5
jne 0x44622e
mov al, byte [0x466270]
test al, 0xc0
je 0x446218
test al, 0x33
jne 0x446218
push edi
push ebx
push ebx
push ebx
push 0x11
push 2
call fcn.00412b58
add esp, 0x18
push edi
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push 1
call fcn.00412b58
mov eax, dword [ebp - 0xc]
add esp, 0x18
cmp byte [ebp + 0x20], bl
jne 0x446119
mov byte [eax + 0x10], 1
jmp 0x446119
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.00443bd5
add esp, 0x28
pop edi
pop esi
pop ebx
leave
ret