Function at 0x44522e
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.00445170
mov byte [ebp - 0x11], al
mov eax, dword [0x467c8c]
xor ebx, ebx
cmp eax, ebx
pop ecx
jne 0x445267
lea eax, [ebp - 0xb4]
mov dword [ebp - 0x10], eax
jmp 0x445315
mov ecx, dword [0x467c90]
mov esi, ecx
imul esi, esi, 0x70
add esi, eax
inc ecx
cmp ecx, dword [0x465070]
mov dword [ebp - 0x10], esi
mov dword [0x467c90], ecx
jl 0x44528c
mov dword [0x467c90], 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 [0x467c94], eax
sub eax, dword [0x4683b4]
test eax, eax
mov dword [ebp - 0x44], eax
fild dword [ebp - 0x44]
jge 0x4452b8
fadd dword [0x45babc]
fmul dword [0x45bab8]
fstp dword [esi + 8]
mov eax, dword [0x467c94]
mov dword [0x4683b4], eax
call dword [sym.imp.USER32.dll_GetForegroundWindow]
cmp eax, ebx
mov dword [ebp - 0x28], eax
je 0x4452fd
cmp eax, dword [0x467c98]
je 0x4452f8
push eax
add esi, 0xc
push esi
push 0x418
push dword [0x467254]
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x44530d
mov byte [esi + 0xc], bl
jmp 0x44530d
add esi, 0xc
push 0x45bab4
push esi
call fcn.00457a80
pop ecx
pop ecx
mov eax, dword [ebp - 0x28]
mov dword [0x467c98], eax
cmp byte [ebp + 0x18], 0x9c
mov eax, dword [ebp - 0x10]
mov cx, word [ebp + 0x1c]
mov word [eax + 2], cx
jb 0x44532f
cmp byte [ebp + 0x18], 0x9f
ja 0x44532f
mov dword [ebp + 0x1c], ebx
mov eax, dword [ebp + 8]
cmp eax, dword [0x46738c]
jne 0x445362
mov al, byte [ebp + 0x28]
and al, 1
jne 0x445525
cmp byte [ebp + 0x20], bl
movzx edx, byte [ebp + 0x18]
setne cl
dec cl
and ecx, 0x80
mov byte [edx + 0x467278], cl
jmp 0x445525
mov eax, dword [ebp + 0x28]
shr eax, 4
and al, 1
test byte [ebp + 0x1d], 1
mov byte [ebp - 2], al
jne 0x4453d2
push 0x90
call dword [sym.imp.USER32.dll_GetKeyState]
test al, 1
je 0x4453d2
movzx eax, byte [ebp + 0x18]
cmp eax, 0x60
jg 0x44545e
je 0x44544e
cmp eax, 0x25
jg 0x44542d
je 0x44548a
sub eax, 0xc
je 0x44547a
sub eax, 0x15
je 0x445502
dec eax
je 0x44549a
dec eax
je 0x4454ba
dec eax
jne 0x4453d2
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x4683c4], al
movzx esi, byte [ebp + 0x18]
mov ecx, dword [0x468404]
lea eax, [esi + esi*8]
shl eax, 5
cmp byte [eax + ecx + 4], bl
jne 0x44541a
push dword [ebp + 0x20]
push dword [ebp + 0x18]
push dword [ebp + 0x28]
call fcn.004451af
add esp, 0xc
test al, al
je 0x445522
cmp byte [ebp + 0x20], bl
mov ecx, dword [0x468404]
setne al
dec al
and eax, 0x80
mov byte [esi + 0x467278], al
mov al, byte [ebp - 2]
cmp byte [ebp - 0x11], bl
je 0x445530
mov al, 0x69
jmp 0x44553b
sub eax, 0x26
je 0x445512
dec eax
je 0x4454ca
dec eax
je 0x4454aa
sub eax, 5
je 0x44544e
dec eax
je 0x4454f2
jmp 0x4453d2
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x4683bd], al
jmp 0x4453d2
cmp eax, 0x66
jg 0x4454da
je 0x4454ca
sub eax, 0x61
je 0x4454ba
dec eax
je 0x4454aa
dec eax
je 0x44549a
dec eax
je 0x44548a
dec eax
jne 0x4453d2
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x4683c2], al
jmp 0x4453d2
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x4683c1], al
jmp 0x4453d2
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x4683c0], al
jmp 0x4453d2
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x4683bf], al
jmp 0x4453d2
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x4683be], al
jmp 0x4453d2
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x4683c3], al
jmp 0x4453d2
sub eax, 0x67
je 0x4453c7
dec eax
je 0x445512
dec eax
je 0x445502
sub eax, 5
jne 0x4453d2
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x4683bc], al
jmp 0x4453d2
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x4683c6], al
jmp 0x4453d2
cmp byte [ebp + 0x20], bl
sete al
mov byte [0x4683c5], al
jmp 0x4453d2
mov al, byte [ebp - 2]
mov ecx, dword [0x468404]
jmp 0x44541d
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 [0x467378], bl
je 0x445578
cmp byte [ebp + 0x18], 0x5b
je 0x445557
cmp byte [ebp + 0x18], 0x5c
jne 0x445578
cmp byte [ebp + 0x20], bl
jne 0x445578
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 0x4467e1
cmp byte [0x4683e9], bl
je 0x4455fb
cmp byte [ebp + 0x18], 0x1b
jne 0x4455fb
cmp byte [ebp + 0x20], bl
jne 0x4455fb
push ebx
push 0x45baa4
call dword [sym.imp.USER32.dll_FindWindowA]
cmp eax, ebx
je 0x4455f5
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 0x4455f5
mov esi, 0xffc3d44d
push esi
push ebx
push ebx
push ebx
push 0x1b
push ebx
call fcn.00412cfd
xor eax, eax
mov al, byte [0x467270]
shr al, 3
push esi
push ebx
push ebx
push ebx
and eax, 0xffffff01
or eax, 0xa4
push eax
push 1
call fcn.00412cfd
push ebx
push 0x7fffffff
push edi
push dword [ebp - 0x10]
push ebx
push dword [ebp + 0x1c]
push 0x1b
jmp 0x446733
mov ecx, dword [0x468404]
movzx eax, word [ebp + 0x1c]
mov edx, dword [0x468408]
lea eax, [eax + eax*8]
shl eax, 5
lea esi, [eax + edx]
mov edx, dword [ebp + 8]
cmp edx, dword [0x467388]
mov al, byte [esi + 0x12]
mov byte [ebp - 0x30], al
jne 0x445623
cmp al, bl
jne 0x44562f
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 0x445667
cmp dword [ebp + 0x24], 0xffc3d44e
jne 0x44688c
cmp byte [ebp + 0x20], bl
je 0x44688c
cmp dword [0x4683e4], esi
jne 0x44688c
mov byte [esi + 0xc], bl
mov dword [0x4683e4], ebx
jmp 0x446889
cmp byte [ebp + 0x20], bl
jne 0x445673
mov byte [esi + 0x10], bl
mov word [esi + 6], di
mov eax, dword [0x467388]
cmp dword [ebp + 8], eax
jne 0x44571b
cmp byte [ebp + 0x20], bl
je 0x445773
cmp byte [0x4683ed], bl
je 0x445698
cmp byte [ebp + 0x18], 0x5b
je 0x4456ca
cmp byte [0x4683ec], bl
je 0x4456a6
cmp byte [ebp + 0x18], 0x5c
je 0x4456ca
cmp byte [0x4683eb], bl
je 0x4456b4
cmp byte [ebp + 0x18], 0xa4
je 0x4456ca
cmp byte [0x4683ea], bl
je 0x445773
cmp byte [ebp + 0x18], 0xa5
jne 0x445773
movzx eax, byte [ebp + 0x18]
sub eax, 0x5b
je 0x4456f6
dec eax
je 0x4456ee
sub eax, 0x48
je 0x4456e6
dec eax
jne 0x4456fc
mov byte [0x4683ea], bl
jmp 0x4456fc
mov byte [0x4683eb], bl
jmp 0x4456fc
mov byte [0x4683ec], bl
jmp 0x4456fc
mov byte [0x4683ed], bl
test byte [0x467270], 3
jne 0x445773
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x11
push 2
call fcn.00412cfd
add esp, 0x18
jmp 0x44576d
cmp byte [ebp + 0x18], bl
jne 0x445731
push ebx
push edi
push dword [ebp - 0x10]
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push ebx
jmp 0x44689a
cmp byte [ebp + 0x18], 1
je 0x44573d
cmp byte [ebp + 0x18], 2
jne 0x445773
cmp dword [0x4673cc], ebx
jne 0x446880
push ebx
push 0x45baac
call dword [sym.imp.USER32.dll_FindWindowA]
cmp eax, ebx
je 0x44576d
push ebx
push eax
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
cmp eax, dword [0x467c9c]
je 0x446880
mov ecx, dword [0x468404]
mov esi, dword [0x4683e4]
cmp esi, ebx
mov eax, dword [ebp - 0xc]
je 0x4457aa
cmp esi, eax
je 0x4457aa
cmp byte [ebp + 0x20], bl
jne 0x4457aa
mov edx, dword [0x467388]
cmp dword [ebp + 8], edx
jne 0x44579e
xor edx, edx
cmp byte [eax + 4], bl
sete dl
jmp 0x4457a2
movzx edx, byte [esi + 4]
cmp edx, ebx
je 0x4457aa
mov byte [esi + 0x11], 1
cmp byte [eax + 8], bl
jne 0x4457b8
cmp byte [eax + 9], bl
je 0x44688c
cmp byte [ebp + 0x20], bl
mov byte [ebp - 0x31], bl
mov dword [ebp - 8], edi
mov byte [ebp - 0x12], bl
je 0x4457ee
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 0x4457eb
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 [0x467388]
cmp dword [ebp + 8], edx
mov byte [ebp - 2], bl
jne 0x445864
cmp byte [eax + 4], bl
je 0x44588d
cmp byte [ecx + 0xb64c], bl
jne 0x44581f
cmp byte [ecx + 0xb76c], bl
jne 0x44581f
xor edx, edx
jmp 0x445822
xor edx, edx
inc edx
cmp byte [ecx + 0xb88c], bl
mov byte [ecx + 0x132c], dl
jne 0x44583c
cmp byte [ecx + 0xb9ac], bl
jne 0x44583c
xor edx, edx
jmp 0x44583f
xor edx, edx
inc edx
cmp byte [ecx + 0xb40c], bl
mov byte [ecx + 0x144c], dl
jne 0x445859
cmp byte [ecx + 0xb52c], bl
jne 0x445859
xor edx, edx
jmp 0x44585c
xor edx, edx
inc edx
mov byte [ecx + 0x120c], dl
jmp 0x44588d
cmp edx, ebx
jne 0x44588d
push 1
call fcn.00412558
mov esi, dword [0x4683e4]
pop ecx
mov ecx, dword [0x468404]
mov byte [0x467271], al
mov byte [0x467270], al
mov eax, dword [ebp - 0xc]
mov byte [ebp - 2], 1
mov edx, dword [eax]
cmp edx, ebx
je 0x44589c
cmp dword [edx], 7
mov byte [ebp - 0x1a], 1
je 0x44589f
mov byte [ebp - 0x1a], bl
mov dl, byte [eax + 8]
cmp dl, bl
je 0x445a11
cmp byte [ebp + 0x20], bl
jne 0x445a11
cmp esi, ebx
je 0x4458c4
cmp byte [eax + 9], bl
je 0x4458c4
cmp eax, esi
jne 0x445a11
cmp dl, 1
jne 0x4458fa
cmp byte [ebp - 0x30], bl
movzx eax, word [ebp + 0x1c]
jne 0x4458d6
movzx eax, byte [ebp + 0x18]
push dword [ebp - 0x30]
push eax
call fcn.004117ec
test al, al
mov esi, dword [0x4683e4]
pop ecx
pop ecx
mov ecx, dword [0x468404]
je 0x4458fa
mov eax, dword [ebp - 0xc]
mov byte [ebp - 0x11], 1
jmp 0x44590f
mov eax, dword [ebp - 0xc]
cmp eax, esi
mov byte [ebp - 0x11], bl
je 0x44590f
mov esi, eax
mov dword [0x4683e4], esi
mov byte [eax + 0x11], bl
cmp byte [eax + 9], bl
je 0x4459d7
cmp byte [ebp - 2], bl
jne 0x445938
push 1
mov byte [ebp - 2], 1
call fcn.00412558
mov esi, dword [0x4683e4]
mov eax, dword [ebp - 0xc]
pop ecx
mov ecx, dword [0x468404]
mov dl, byte [0x467271]
mov byte [ebp - 1], dl
mov dl, byte [eax + 4]
cmp dl, bl
je 0x445958
not dl
mov cl, dl
and byte [ebp - 1], cl
mov ecx, dword [0x468404]
mov byte [ebp - 0x3d], dl
cmp byte [ebp - 1], bl
jne 0x445962
cmp byte [ebp - 0x11], bl
je 0x4459d7
mov ecx, dword [0x467388]
cmp dword [ebp + 8], ecx
jne 0x44598b
cmp byte [ebp - 0x30], bl
je 0x44598b
movzx edx, byte [ebp - 1]
movzx ecx, word [ebp + 0x1c]
shl edx, 8
add edx, ecx
mov ecx, dword [0x4683fc]
movzx ecx, word [ecx + edx*2]
jmp 0x4459a2
movzx ecx, byte [ebp - 1]
movzx edx, byte [ebp + 0x18]
shl ecx, 8
add ecx, edx
mov edx, dword [0x4683f8]
movzx ecx, word [edx + ecx*2]
test ch, 0x40
mov dword [ebp - 8], ecx
je 0x4459b3
mov word [eax + 6], cx
mov dword [ebp - 8], edi
jmp 0x4459e0
mov edx, dword [0x466200]
and ecx, edi
cmp cx, word [edx]
jae 0x4459d1
mov edx, dword [0x468400]
movzx ecx, cx
mov cx, word [edx + ecx*2]
mov word [eax + 6], cx
mov ecx, dword [0x468404]
cmp word [ebp - 8], di
jne 0x445a11
mov eax, dword [ebp - 0xc]
cmp byte [ebp - 0x11], bl
je 0x4459f2
or byte [eax + 0xb], 8
mov ecx, dword [ebp - 0x10]
add ecx, 4
mov byte [ecx], 0x23
cmp byte [eax + 4], bl
jne 0x445a0b
test byte [eax + 0xb], 1
jne 0x445a0b
cmp byte [ebp - 0x1a], bl
jne 0x445a0b
cmp byte [ebp - 0x11], bl
je 0x44555c
push ebx
jmp 0x446354
mov edx, dword [ebp - 0xc]
cmp byte [edx + 9], bl
mov byte [ebp - 0x11], bl
je 0x445a63
cmp byte [ebp + 0x20], bl
je 0x445a63
cmp esi, edx
jne 0x445a32
cmp byte [ebp - 0x1b], bl
je 0x445a63
xor esi, esi
mov dword [0x4683e4], esi
cmp byte [edx + 0xa], bl
jne 0x445a5f
mov al, byte [edx + 0xb]
test al, 8
je 0x445a47
xor cl, cl
and al, 0xf7
mov byte [edx + 0xb], al
jmp 0x445a49
mov cl, 1
cmp byte [ebp - 0x1b], bl
je 0x44688c
cmp cl, bl
je 0x44688c
jmp 0x446325
mov byte [ebp - 0x11], 1
cmp byte [edx + 8], bl
je 0x445b9e
cmp byte [ebp + 0x20], bl
je 0x445b9e
cmp esi, edx
jne 0x445a81
xor esi, esi
mov dword [0x4683e4], esi
cmp byte [edx + 0xd], bl
je 0x445aaf
mov eax, dword [ebp - 0xc]
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x12
push 1
mov byte [eax + 0xd], bl
call fcn.00412cfd
mov ecx, dword [0x468404]
mov esi, dword [0x4683e4]
mov edx, dword [ebp - 0xc]
add esp, 0x18
cmp byte [edx + 0xe], bl
je 0x445add
mov eax, dword [ebp - 0xc]
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x10
push 1
mov byte [eax + 0xe], bl
call fcn.00412cfd
mov ecx, dword [0x468404]
mov esi, dword [0x4683e4]
mov edx, dword [ebp - 0xc]
add esp, 0x18
cmp word [ebp - 8], di
jne 0x445af7
mov al, byte [edx + 0xb]
test al, 8
je 0x445af7
mov ecx, dword [ebp - 0xc]
and al, 0xf7
mov byte [ecx + 0xb], al
jmp 0x44688c
cmp byte [ebp - 0x1a], bl
mov al, byte [edx + 0x11]
je 0x445b5c
cmp al, 2
jne 0x445b37
push 0xffc3d44e
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push 1
call fcn.00412cfd
push 0xffc3d44d
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push 2
call fcn.00412cfd
push ebx
push 0x7fffffff
push edi
jmp 0x446727
cmp al, 1
je 0x44688c
cmp byte [edx + 9], bl
jne 0x445b90
cmp byte [edx + 4], bl
jne 0x44688c
test byte [edx + 0xb], 1
jne 0x44688c
jmp 0x44631c
cmp al, bl
je 0x445b3f
cmp word [ebp - 8], di
jne 0x445b3f
cmp byte [edx + 4], bl
je 0x445b7a
cmp al, 2
jne 0x44688c
push 1
jmp 0x44688d
test byte [edx + 0xb], 1
push ebx
jne 0x44688d
push 0x7fffffff
push edi
jmp 0x446762
cmp byte [ebp - 0x21], bl
jne 0x445b9e
cmp byte [edx + 0xa], bl
je 0x44688c
cmp byte [ebp - 2], bl
jne 0x445bc0
cmp word [ebp - 8], di
jne 0x445bc0
push 1
call fcn.00412558
mov esi, dword [0x4683e4]
mov edx, dword [ebp - 0xc]
pop ecx
mov ecx, dword [0x468404]
cmp esi, ebx
mov byte [ebp - 0x19], bl
je 0x44613e
cmp byte [ebp + 0x20], bl
je 0x445bd9
cmp byte [edx + 0xa], bl
je 0x44613e
cmp word [ebp - 8], di
jne 0x44626e
cmp byte [edx + 0x13], bl
mov dword [ebp - 0x20], ebx
jbe 0x445cbc
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 0x445c3a
mov eax, dword [ebp - 0x18]
movzx eax, word [eax + 2]
test ah, 0x40
mov dword [ebp - 0x28], eax
je 0x445c27
cmp byte [ebp + 0x20], bl
jne 0x445c4f
mov word [edx + 6], ax
cmp word [ebp - 8], di
jne 0x445c68
jmp 0x445c3a
cmp byte [ebp + 0x20], bl
jne 0x445c3a
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 0x445bf5
jmp 0x445c62
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 0x445cbc
movzx esi, byte [ebp - 1]
mov eax, esi
sub eax, 0x10
je 0x445c9d
dec eax
je 0x445c8b
dec eax
jne 0x445caf
xor eax, eax
cmp byte [ecx + 0xb9ac], bl
setne al
add eax, 0xa4
jmp 0x445cad
xor eax, eax
cmp byte [ecx + 0xb76c], bl
setne al
add eax, 0xa2
jmp 0x445cad
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 0x445d55
cmp byte [edx + 0x14], bl
mov dword [ebp - 0x20], ebx
jbe 0x445d65
add edx, 0xde
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
movzx eax, word [eax]
mov edx, dword [0x468408]
lea eax, [eax + eax*8]
shl eax, 5
cmp byte [eax + edx + 0xc], bl
je 0x445d18
mov edx, dword [ebp - 0x18]
mov ax, word [edx + 2]
test ah, 0x40
je 0x445d09
cmp byte [ebp + 0x20], bl
jne 0x445d2d
mov edx, dword [ebp - 0xc]
mov word [edx + 6], ax
cmp word [ebp - 8], di
jne 0x445d45
jmp 0x445d1b
cmp byte [ebp + 0x20], bl
jne 0x445d18
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 0x445cd1
jmp 0x445d3c
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 0x445d65
movzx esi, word [ebp - 0x2c]
lea esi, [esi + esi*8]
shl esi, 5
add esi, dword [0x468408]
cmp word [ebp - 8], di
mov dword [0x4683e4], esi
jne 0x445f22
cmp byte [ebp + 0x18], 0xa0
jb 0x445f22
cmp byte [ebp + 0x18], 0xa1
jbe 0x445d8d
cmp byte [ebp + 0x18], 0xa3
jbe 0x445d89
cmp byte [ebp + 0x18], 0xa5
ja 0x445f22
mov al, 0x12
jmp 0x445d8f
mov al, 0x11
jmp 0x445d8f
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 0x445e1d
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 0x445df6
mov eax, dword [ebp - 0x18]
movzx eax, word [eax + 2]
test ah, 0x40
mov dword [ebp - 0x44], eax
je 0x445de6
cmp byte [ebp + 0x20], bl
jne 0x445e0a
mov word [edx + 6], ax
cmp word [ebp - 8], di
jne 0x445e23
jmp 0x445df6
cmp byte [ebp + 0x20], bl
jne 0x445df6
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 0x445db4
jmp 0x445e1d
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 0x445e77
movzx esi, byte [ebp - 1]
mov eax, esi
sub eax, 0x10
je 0x445e65
dec eax
je 0x445e46
dec eax
jne 0x445e58
xor eax, eax
cmp byte [ecx + 0xb9ac], bl
setne al
add eax, 0xa4
jmp 0x445e56
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 0x445f1c
xor eax, eax
cmp byte [ecx + 0xb52c], bl
setne al
add eax, 0xa0
jmp 0x445e56
mov eax, dword [ebp - 0x28]
movzx eax, byte [eax + 0x14]
cmp eax, ebx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x20], ebx
jle 0x445f22
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 [0x468408]
lea eax, [eax + eax*8]
shl eax, 5
cmp byte [eax + edx + 0xc], bl
mov edx, dword [ebp - 0x18]
je 0x445ee1
mov ax, word [edx + 2]
test ah, 0x40
je 0x445ed2
cmp byte [ebp + 0x20], bl
jne 0x445ef4
mov edx, dword [ebp - 0xc]
mov word [edx + 6], ax
cmp word [ebp - 8], di
jne 0x445f0c
mov edx, dword [ebp - 0x18]
jmp 0x445ee1
cmp byte [ebp + 0x20], bl
jne 0x445ee1
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 0x445e97
jmp 0x445f03
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 0x445f22
movzx esi, word [ebp - 0x2c]
lea esi, [esi + esi*8]
shl esi, 5
add esi, dword [0x468408]
mov dword [0x4683e4], esi
mov eax, dword [ebp - 8]
and eax, edi
cmp word [ebp - 8], di
mov dword [ebp - 0x2c], eax
je 0x445f82
mov edx, dword [0x466200]
cmp ax, word [edx]
jae 0x445f7b
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.004104db
add esp, 0x14
cmp al, bl
mov byte [ebp - 0x12], al
je 0x4462c8
mov eax, dword [ebp - 8]
mov ecx, dword [0x468404]
mov esi, dword [0x4683e4]
and eax, edi
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0xc]
mov byte [esi + 0x11], 2
cmp ax, 0x3ffe
je 0x445f92
cmp ax, 0x3ffd
jne 0x44613e
cmp byte [ebp + 0x20], bl
jne 0x445f9b
mov byte [edx + 0xf], 1
test byte [0x467270], 0xc
jne 0x445fc0
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x12
push ebx
call fcn.00412cfd
mov esi, dword [0x4683e4]
mov eax, dword [ebp - 0x2c]
add esp, 0x18
cmp byte [ebp + 0x18], 0xa2
je 0x445fcc
cmp byte [ebp + 0x18], 0xa3
jne 0x445ff1
cmp byte [ebp + 0x20], bl
jne 0x445ff1
push 0xffc3d44d
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push 1
call fcn.00412cfd
mov esi, dword [0x4683e4]
mov eax, dword [ebp - 0x2c]
add esp, 0x18
cmp ax, 0x3ffd
mov byte [esi + 0xd], 1
jne 0x446023
test byte [0x467270], 0x30
jne 0x44601d
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x10
push ebx
call fcn.00412cfd
mov esi, dword [0x4683e4]
add esp, 0x18
mov byte [esi + 0xe], 1
jmp 0x446091
cmp ax, 0x3ffe
jne 0x446091
cmp byte [ebp + 0x18], 0xa0
je 0x446035
cmp byte [ebp + 0x18], 0xa1
jne 0x446051
cmp byte [ebp + 0x20], bl
jne 0x446051
push 0xffc3d44d
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push 1
call fcn.00412cfd
add esp, 0x18
test byte [0x467270], 0x10
je 0x446071
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0xa0
push 1
call fcn.00412cfd
add esp, 0x18
test byte [0x467270], 0x20
je 0x446091
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0xa1
push 1
call fcn.00412cfd
add esp, 0x18
test byte [0x467270], 1
je 0x4460b1
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0xa2
push 1
call fcn.00412cfd
add esp, 0x18
test byte [0x467270], 2
mov esi, 0xffc3d44d
je 0x4460d2
push esi
push ebx
push ebx
push ebx
push 0xa3
push 1
call fcn.00412cfd
add esp, 0x18
push esi
push ebx
push ebx
push ebx
push 9
push 2
call fcn.00412cfd
add esp, 0x18
cmp word [ebp - 0x2c], 0x3ffd
jne 0x44611e
mov eax, dword [0x4683e4]
cmp byte [eax + 0xe], bl
je 0x44611e
cmp byte [ebp + 0x18], 0x60
jb 0x446100
cmp byte [ebp + 0x18], 0x69
jbe 0x446106
cmp byte [ebp + 0x18], 0x6e
jne 0x44611e
push esi
push ebx
push ebx
push ebx
push 0x10
push 1
call fcn.00412cfd
mov eax, dword [0x4683e4]
add esp, 0x18
mov byte [eax + 0xe], bl
cmp byte [ebp + 0x20], bl
mov eax, dword [ebp - 0x10]
mov byte [eax + 4], 0x68
jne 0x446131
mov ecx, dword [ebp - 0xc]
mov byte [ecx + 0x10], 1
push ebx
push 0x7fffffff
push edi
push eax
jmp 0x446765
cmp word [ebp - 8], di
jne 0x44626e
mov dl, byte [edx + 4]
cmp dl, bl
mov al, byte [0x467271]
mov byte [ebp - 1], al
je 0x446161
not dl
mov al, dl
and byte [ebp - 1], al
mov byte [ebp - 0x21], dl
mov eax, dword [ebp + 8]
cmp eax, dword [0x467388]
jne 0x446189
cmp byte [ebp - 0x30], bl
je 0x446189
movzx edx, byte [ebp - 1]
movzx eax, word [ebp + 0x1c]
shl edx, 8
add edx, eax
mov eax, dword [0x4683fc]
mov ax, word [eax + edx*2]
jmp 0x4461a0
movzx eax, byte [ebp - 1]
movzx edx, byte [ebp + 0x18]
shl eax, 8
add eax, edx
mov edx, dword [0x4683f8]
mov ax, word [edx + eax*2]
cmp ax, di
mov word [ebp - 8], ax
jne 0x446210
cmp byte [0x4683e9], bl
je 0x446210
cmp byte [ebp + 0x18], 9
je 0x446210
mov eax, dword [0x467388]
and byte [ebp - 1], 0xf3
cmp dword [ebp + 8], eax
jne 0x4461e2
cmp byte [ebp - 0x30], bl
je 0x4461e2
movzx edx, byte [ebp - 1]
movzx eax, word [ebp + 0x1c]
shl edx, 8
add edx, eax
mov eax, dword [0x4683fc]
mov ax, word [eax + edx*2]
jmp 0x4461f9
movzx eax, byte [ebp - 1]
movzx edx, byte [ebp + 0x18]
shl eax, 8
add eax, edx
mov edx, dword [0x4683f8]
mov ax, word [edx + eax*2]
mov word [ebp - 8], ax
mov eax, dword [ebp - 8]
and eax, edi
cmp ax, 0x3ff9
jbe 0x44620d
cmp ax, di
jb 0x446210
mov dword [ebp - 8], edi
mov eax, dword [ebp - 8]
test ah, 0x40
je 0x446229
cmp byte [ebp + 0x20], bl
mov edx, dword [ebp - 0xc]
jne 0x446264
mov word [edx + 6], ax
mov dword [ebp - 8], edi
jmp 0x446264
cmp ax, di
je 0x4462f8
mov edx, dword [0x466200]
and eax, edi
cmp byte [ebp + 0x20], bl
je 0x4462da
cmp ax, word [edx]
jae 0x4462d0
mov edx, dword [0x468400]
movzx eax, ax
movzx eax, word [edx + eax*2]
cmp ax, di
je 0x4462d0
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0xc]
cmp word [ebp - 8], di
je 0x4462fb
lea eax, [edx + 0xb]
test byte [eax], 8
mov dword [ebp - 0x28], eax
je 0x446285
cmp byte [ebp + 0x20], bl
je 0x446285
mov byte [ebp - 0x19], 1
and byte [eax], 0xf7
mov eax, dword [ebp - 8]
mov edx, dword [0x466200]
and ax, di
cmp ax, word [edx]
jae 0x44636a
cmp byte [ebp - 0x12], bl
jne 0x44636a
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.004104db
add esp, 0x14
test al, al
jne 0x44635e
push ebx
push edi
push esi
jmp 0x446891
cmp byte [ebp - 0x11], bl
je 0x446261
mov dword [ebp - 8], edi
jmp 0x446261
cmp ax, word [edx]
jae 0x446261
mov edx, dword [0x468400]
movzx eax, ax
mov ax, word [edx + eax*2]
mov edx, dword [ebp - 0xc]
mov word [edx + 6], ax
jmp 0x446264
mov edx, dword [ebp - 0xc]
cmp byte [ebp + 0x20], bl
je 0x44632b
cmp byte [edx + 4], bl
jne 0x44688c
test byte [edx + 0xb], 1
jne 0x44688c
cmp byte [edx + 8], bl
je 0x44688c
cmp byte [ebp - 0x1a], bl
jne 0x44688c
push ebx
jmp 0x445b85
lea eax, [edx + 6]
cmp word [eax], di
push ebx
je 0x446354
lea ecx, [ebp - 0x19]
push ecx
mov ecx, dword [ebp - 0xc]
add ecx, 0xb
push ecx
push 1
push eax
call fcn.004104db
add esp, 0x14
cmp byte [ebp - 0x19], bl
push ebx
je 0x44555d
push edi
push dword [ebp - 0x10]
push ebx
jmp 0x446894
mov ecx, dword [0x468404]
mov esi, dword [0x4683e4]
mov eax, dword [ebp - 8]
mov dl, byte [0x467270]
and eax, edi
mov dword [ebp - 0x38], eax
mov eax, dword [0x467388]
cmp dword [ebp + 8], eax
jne 0x4463c8
test dl, 0x3f
jne 0x4463ae
test dl, 0x40
je 0x44639b
cmp byte [ecx + 0x6668], bl
jne 0x44639b
mov byte [0x4683ed], 1
test dl, dl
jns 0x4463ae
cmp byte [ecx + 0x6788], bl
jne 0x4463ae
mov byte [0x4683ec], 1
test dl, 4
je 0x4463e3
cmp byte [ecx + 0xb888], bl
jne 0x4463e3
cmp eax, ebx
je 0x44640a
mov byte [0x4683eb], 1
jmp 0x44642a
test dl, 0xc
jne 0x4463ae
test dl, 0x40
je 0x44639b
cmp byte [ecx + 0x6668], bl
jne 0x44639b
mov byte [0x4683ed], 1
jmp 0x4463ae
test dl, 8
je 0x44642a
cmp byte [ecx + 0xb9a8], bl
jne 0x44642a
call fcn.0041200f
test al, al
jne 0x44641e
cmp dword [0x467388], ebx
je 0x44640a
mov byte [0x4683ea], 1
jmp 0x44641e
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x11
push 2
call fcn.00412cfd
add esp, 0x18
mov dl, byte [0x467270]
mov esi, dword [0x4683e4]
movzx ecx, word [ebp - 0x38]
mov eax, 0x3ffa
cmp ecx, eax
je 0x44645d
jle 0x44644d
cmp ecx, 0x3ffc
jle 0x446469
cmp ecx, 0x3ffe
jle 0x4464eb
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x3c], eax
mov edi, 0xffc3d44d
jmp 0x4466db
cmp byte [0x4683e9], bl
je 0x44688c
test dl, 4
mov byte [ebp - 1], bl
je 0x446477
mov byte [ebp - 1], 0xa4
jmp 0x446480
test dl, 8
je 0x446480
mov byte [ebp - 1], 0xa5
cmp byte [0x4683e9], bl
je 0x4465b3
cmp word [ebp - 0x38], 0x3ffb
je 0x4464eb
cmp byte [ebp - 1], bl
je 0x44649f
movzx eax, byte [ebp - 1]
jmp 0x4464a2
push 0x12
pop eax
mov esi, 0xffc3d44d
push esi
push ebx
push ebx
push ebx
push eax
push 1
call fcn.00412cfd
mov eax, dword [ebp - 0xc]
add esp, 0x18
cmp byte [eax + 4], bl
je 0x4464e0
cmp byte [ebp + 0x18], 0x5b
je 0x4464e0
cmp byte [ebp + 0x18], 0x5c
je 0x4464e0
cmp byte [ebp + 0x20], bl
jne 0x4464e0
push esi
push ebx
push ebx
push ebx
push dword [ebp + 0x18]
push 1
call fcn.00412cfd
add esp, 0x18
mov byte [0x4683e9], bl
jmp 0x4466d0
cmp byte [0x4683e9], bl
je 0x44688c
cmp byte [ebp + 0x20], bl
jne 0x44652a
mov al, byte [ebp + 0x18]
cmp al, 0xa2
je 0x44650f
cmp al, 0xa3
je 0x44650f
cmp al, 0xa0
je 0x44650f
cmp al, 0xa1
jne 0x44652a
push 0xffc3d44d
push ebx
push ebx
push ebx
push dword [ebp + 0x18]
push 1
call fcn.00412cfd
mov dl, byte [0x467270]
add esp, 0x18
test dl, 0xc
je 0x446540
cmp byte [ebp + 0x20], bl
je 0x446559
cmp byte [ebp + 0x18], 0xa4
je 0x446540
cmp byte [ebp + 0x18], 0xa5
jne 0x446559
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x12
push ebx
call fcn.00412cfd
mov dl, byte [0x467270]
add esp, 0x18
cmp word [ebp - 0x38], 0x3ffd
mov byte [ebp - 0x12], bl
jne 0x446580
test dl, 0x30
jne 0x446580
push 0xffc3d44d
push ebx
push ebx
push ebx
push 0x10
push ebx
call fcn.00412cfd
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.00412cfd
add esp, 0x18
cmp byte [ebp - 0x12], bl
je 0x4466d5
push edi
push ebx
push ebx
push ebx
push 0x10
push 1
call fcn.00412cfd
add esp, 0x18
jmp 0x4466d5
mov al, byte [ebp + 0x18]
cmp al, 0xa4
je 0x4465c1
cmp al, 0xa5
mov byte [ebp - 0x12], bl
jne 0x4465c5
mov byte [ebp - 0x12], 1
cmp al, 0xa0
je 0x4465d0
cmp al, 0xa1
mov byte [ebp - 2], bl
jne 0x4465d4
mov byte [ebp - 2], 1
cmp al, 0xa2
je 0x4465e0
cmp al, 0xa3
je 0x4465e0
xor al, al
jmp 0x4465e2
mov al, 1
test dl, 0x10
mov byte [ebp - 0x18], bl
je 0x4465f0
mov byte [ebp - 0x18], 0xa0
jmp 0x44660b
test dl, 0x20
je 0x4465fb
mov byte [ebp - 0x18], 0xa1
jmp 0x44660b
cmp byte [ebp + 0x20], bl
jne 0x44660b
cmp byte [ebp - 2], bl
je 0x44660b
mov cl, byte [ebp + 0x18]
mov byte [ebp - 0x18], cl
test dl, 1
mov byte [ebp - 0x30], bl
je 0x446619
mov byte [ebp - 0x30], 0xa2
jmp 0x446633
test dl, 2
je 0x446624
mov byte [ebp - 0x30], 0xa3
jmp 0x446633
cmp byte [ebp + 0x20], bl
jne 0x446633
cmp al, bl
je 0x446633
mov al, byte [ebp + 0x18]
mov byte [ebp - 0x30], al
cmp byte [ebp - 0x18], bl
mov byte [ebp - 0x1b], bl
je 0x446654
push 0xffc3d44d
push ebx
push ebx
push ebx
push dword [ebp - 0x18]
push 1
call fcn.00412cfd
add esp, 0x18
mov byte [ebp - 0x1b], 1
cmp byte [ebp - 0x30], bl
je 0x44666e
push 0xffc3d44d
push ebx
push ebx
push ebx
push dword [ebp - 0x30]
push 1
call fcn.00412cfd
add esp, 0x18
cmp byte [ebp - 0x12], bl
je 0x44667d
cmp byte [ebp + 0x20], bl
jne 0x446684
mov al, byte [ebp + 0x18]
jmp 0x446680
mov al, byte [ebp - 1]
cmp al, bl
jne 0x44669a
mov esi, 0xffc3d44d
push esi
push ebx
push ebx
push ebx
push 0x12
push ebx
call fcn.00412cfd
add esp, 0x18
jmp 0x44669f
mov esi, 0xffc3d44d
push esi
push ebx
push ebx
push ebx
push 9
push 2
call fcn.00412cfd
add esp, 0x18
cmp byte [ebp - 0x1b], bl
je 0x4466c9
cmp byte [ebp - 2], bl
jne 0x4466c9
push esi
push ebx
push ebx
push ebx
push dword [ebp - 0x18]
push ebx
call fcn.00412cfd
add esp, 0x18
mov byte [0x4683e9], 1
mov edi, 0xffc3d44d
mov esi, dword [0x4683e4]
mov eax, dword [ebp - 0x10]
add eax, 4
cmp byte [ebp - 0x1a], bl
mov byte [eax], 0x68
mov eax, dword [ebp - 0xc]
je 0x446746
cmp byte [ebp + 0x20], bl
je 0x44680d
cmp byte [eax + 8], bl
je 0x446746
push 0xffc3d44e
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push 1
call fcn.00412cfd
push edi
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push 2
call fcn.00412cfd
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.00446fd9
add esp, 0x54
jmp 0x4468ae
cmp byte [ebp + 0x20], bl
je 0x44680d
cmp byte [eax + 4], bl
je 0x446774
cmp byte [eax + 0x10], bl
je 0x44676d
push ebx
push 0x7fffffff
push dword [ebp - 0x3c]
push dword [ebp - 0x10]
push dword [ebp + 0x20]
jmp 0x445567
push 1
jmp 0x44682a
cmp byte [ebp - 0x19], bl
jne 0x446785
mov ecx, dword [ebp - 0x28]
test byte [ecx], 1
je 0x44686e
mov esi, dword [ebp + 8]
cmp esi, dword [0x46738c]
je 0x4467ee
mov ecx, dword [eax]
cmp ecx, ebx
je 0x44679f
cmp dword [ecx], 7
mov byte [ebp + 0xb], 1
jne 0x4467a2
mov byte [ebp + 0xb], bl
cmp byte [eax + 0x10], bl
je 0x4467c3
cmp byte [ebp - 0x31], bl
jne 0x4467c3
cmp byte [ebp + 0xb], bl
jne 0x4467c8
push edi
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push ebx
call fcn.00412cfd
add esp, 0x18
cmp byte [ebp + 0xb], bl
je 0x4467ee
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.00446fd9
add esp, 0x24
jmp 0x4468ae
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 0x4468a6
cmp esi, ebx
mov byte [eax + 0xf], 1
je 0x44681e
cmp byte [esi + 4], bl
je 0x44681e
mov byte [esi + 0x11], 2
cmp byte [ebp - 0x19], bl
je 0x44682f
mov eax, dword [ebp - 0x28]
or byte [eax], 8
push ebx
push dword [ebp - 0x3c]
jmp 0x44688e
cmp byte [ebp + 0x18], 0xa4
je 0x44683b
cmp byte [ebp + 0x18], 0xa5
jne 0x44686e
mov al, byte [0x467270]
test al, 0xc0
je 0x446858
test al, 0x33
jne 0x446858
push edi
push ebx
push ebx
push ebx
push 0x11
push 2
call fcn.00412cfd
add esp, 0x18
push edi
push ebx
push ebx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push 1
call fcn.00412cfd
mov eax, dword [ebp - 0xc]
add esp, 0x18
cmp byte [ebp + 0x20], bl
jne 0x446759
mov byte [eax + 0x10], 1
jmp 0x446759
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.00444215
add esp, 0x28
pop edi
pop esi
pop ebx
leave
ret