Function at 0x432a40
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x53b766
mov eax, dword fs:[0]
push eax
sub esp, 0x1f0
mov eax, dword [0x59099c]
xor eax, esp
mov dword [esp + 0x1e8], eax
push ebx
push esi
push edi
mov eax, dword [0x59099c]
xor eax, esp
push eax
lea eax, [esp + 0x200]
mov dword fs:[0], eax
mov edi, ecx
cmp byte [edi + 0x208], 0
mov dword [esp + 0x20], edi
je 0x4339fa
lea eax, [esp + 0x1c]
push eax
push 1
lea ecx, [esp + 0x48]
push ecx
push 0xfffffffffffffff6
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
push eax
call dword [sym.imp.KERNEL32.dll_PeekConsoleInputA]
test eax, eax
je 0x4339fa
cmp dword [esp + 0x1c], 0
jbe 0x4339fa
lea edx, [esp + 0x1c]
push edx
push 1
lea eax, [esp + 0x48]
push eax
push 0xfffffffffffffff6
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
push eax
call dword [sym.imp.KERNEL32.dll_ReadConsoleInputA]
test eax, eax
je 0x4339fa
cmp word [esp + 0x40], 1
jne 0x433951
cmp dword [esp + 0x44], 0
je 0x433951
mov al, byte [esp + 0x50]
mov ecx, dword [esp + 0x4a]
mov bl, byte [esp + 0x4e]
test al, 0xc
movzx edx, cx
setne byte [esp + 0x1a]
test al, 3
mov byte [esp + 0x1b], bl
mov dword [esp + 0x14], edx
je 0x432b2c
mov eax, dword [edi]
mov edx, dword [eax + 0x70]
push ecx
mov ecx, edi
call edx
jmp 0x433951
push 0xfffffffffffffff5
mov byte [esp + 0x17], 0
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
mov esi, eax
lea eax, [esp + 0xe8]
push eax
push esi
mov dword [esp + 0x2c], esi
call dword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
movzx eax, word [esp + 0x14]
add eax, 0xffffffdd
cmp eax, 0x58
ja case.0x432b66.41
movzx ecx, byte [eax + 0x433a5c]
jmp dword [ecx*4 + 0x433a20]
mov edx, dword [edi]
mov eax, dword [edx + 0x44]
push 1
push 0
mov ecx, edi
call eax
jmp 0x433951
push 0x560568
lea ecx, [esp + 0x190]
call fcn.0040a406
mov dword [esp + 0x208], 0
mov edx, dword [edi]
mov edx, dword [edx + 0x38]
lea eax, [esp + 0x18c]
push eax
mov ecx, edi
call edx
mov dword [esp + 0x208], 0xffffffff
cmp dword [esp + 0x1a4], 8
jb 0x433951
mov eax, dword [esp + 0x190]
push eax
call fcn.0050b609
add esp, 4
jmp 0x433951
mov edx, dword [edi]
mov eax, dword [edx + 0x48]
push 1
push 0
mov ecx, edi
call eax
jmp 0x433951
mov edx, dword [edi]
mov eax, dword [edx + 0x4c]
push 1
push 0
mov ecx, edi
call eax
jmp 0x433951
int3
cmp byte [esp + 0x1a], 0
jne 0x432c17
mov eax, edi
call fcn.0042f0e0
jmp 0x433951
xor bl, bl
cmp dword [edi + 0xcc], 0
jle 0x432c60
lea esi, [edi + 0xb0]
jmp 0x432c30
add dword [edi + 0xcc], 0xffffffff
mov eax, dword [edi + 0xcc]
push eax
mov ecx, esi
call fcn.0040a50f
movzx ecx, byte [eax]
push ecx
call fcn.005092de
add esp, 4
test eax, eax
je 0x432c6c
test bl, bl
je 0x432c6e
add dword [edi + 0xcc], 1
mov esi, edi
call fcn.0042f020
jmp 0x433951
mov bl, 1
cmp dword [edi + 0xcc], 0
jg 0x432c30
mov esi, edi
call fcn.0042f020
jmp 0x433951
cmp byte [esp + 0x1a], 0
jne 0x432cb3
mov ecx, dword [edi + 0xc4]
mov eax, dword [edi + 0xcc]
cmp eax, ecx
jge 0x433951
add eax, 1
mov esi, edi
mov dword [edi + 0xcc], eax
call fcn.0042f020
jmp 0x433951
mov eax, dword [edi + 0xc4]
xor bl, bl
cmp dword [edi + 0xcc], eax
jge 0x432d0b
lea esi, [edi + 0xb0]
lea esp, [esp]
mov edx, dword [edi + 0xcc]
push edx
mov ecx, esi
call fcn.0040a50f
movzx eax, byte [eax]
push eax
call fcn.005092de
add esp, 4
test eax, eax
je 0x432cf2
mov bl, 1
jmp 0x432cf6
test bl, bl
jne 0x432d0b
add dword [edi + 0xcc], 1
mov eax, dword [edi + 0xc4]
cmp dword [edi + 0xcc], eax
jl 0x432cd0
mov esi, edi
call fcn.0042f020
jmp 0x433951
mov esi, edi
mov dword [edi + 0xcc], 0
call fcn.0042f020
jmp 0x433951
mov eax, dword [edi + 0xc4]
mov esi, edi
mov dword [edi + 0xcc], eax
call fcn.0042f020
jmp 0x433951
cmp byte [edi + 0xac], 0
lea edx, [esp + 0x38]
push edx
sete cl
push esi
mov byte [edi + 0xac], cl
mov dword [esp + 0x44], 1
call dword [sym.imp.KERNEL32.dll_GetConsoleCursorInfo]
mov al, byte [edi + 0xac]
neg al
lea ecx, [esp + 0x38]
push ecx
push esi
sbb eax, eax
and eax, 0x19
add eax, 0x19
mov dword [esp + 0x40], eax
call dword [sym.imp.KERNEL32.dll_SetConsoleCursorInfo]
jmp 0x433951
mov ecx, dword [edi + 0xc4]
mov eax, dword [edi + 0xcc]
cmp eax, ecx
jge 0x433951
lea esi, [edi + 0xb0]
push eax
mov ecx, esi
call fcn.0040a50f
cmp word [eax], 0xa
jne 0x432e67
mov ebx, dword [edi + 0xcc]
push 0
mov eax, edi
mov dword [esp + 0x28], ebx
call fcn.0042f100
push ebx
lea edx, [esp + 0xa0]
push edx
lea eax, [esp + 0x9c]
push eax
mov ecx, esi
call fcn.0040aea7
mov ecx, eax
call fcn.0041f6b1
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
push edx
lea eax, [esp + 0x30]
push eax
mov ebx, esi
call fcn.00438040
push esi
lea esi, [esp + 0x13c]
call fcn.00454f00
add esp, 4
xor ebx, ebx
push ebx
push edi
mov edi, eax
call fcn.0042eec0
cmp dword [esp + 0x150], 0x10
jb 0x432e34
mov ecx, dword [esp + 0x13c]
push ecx
call fcn.0050b609
add esp, 4
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
mov dword [esp + 0x150], 0xf
mov dword [esp + 0x14c], ebx
mov byte [esp + 0x13c], bl
mov dword [esi + 0xcc], edx
call fcn.0042f020
mov edi, esi
jmp 0x433951
mov eax, dword [edi + 0xcc]
push eax
lea ecx, [esp + 0x88]
push ecx
lea edx, [esp + 0x74]
push edx
mov ecx, esi
call fcn.0040aea7
mov ecx, eax
call fcn.0041f6b1
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
push edx
lea eax, [esp + 0x30]
push eax
mov ebx, esi
call fcn.00438040
jmp 0x433856
lea esi, [edi + 0xd0]
mov ecx, esi
call fcn.0040f476
test eax, eax
jbe 0x433951
mov eax, dword [edi + 0xe4]
cmp eax, 0xffffffff
jne 0x432ecf
mov ecx, dword [edi + 0xe0]
mov dword [edi + 0xe4], ecx
jmp 0x432ee4
add eax, 0xffffffff
xor edx, edx
test eax, eax
setle dl
sub edx, 1
and eax, edx
mov dword [edi + 0xe4], eax
mov ecx, esi
call fcn.0040f476
test eax, eax
jbe 0x433951
mov eax, dword [edi + 0xe4]
push eax
mov ecx, esi
call fcn.00438dd0
mov ebx, edi
call fcn.0042f1e0
jmp 0x433951
lea esi, [edi + 0xd0]
mov ecx, esi
call fcn.0040f476
test eax, eax
jbe 0x433951
mov ecx, dword [edi + 0xe4]
cmp ecx, 0xffffffff
jne 0x432f3b
mov ecx, dword [edi + 0xe0]
mov dword [edi + 0xe4], ecx
jmp 0x432f4d
add eax, 0xffffffff
add ecx, 1
cmp ecx, eax
jge 0x432f47
mov eax, ecx
mov dword [edi + 0xe4], eax
mov ecx, esi
call fcn.0040f476
test eax, eax
jbe 0x433951
mov edx, dword [edi + 0xe4]
push edx
mov ecx, esi
call fcn.00438dd0
mov ebx, edi
call fcn.0042f1e0
jmp 0x433951
or eax, 0xffffffff
cmp dword [edi + 0xe4], eax
jne 0x432f9b
mov ecx, dword [edi + 0xe0]
cmp ecx, eax
mov dword [edi + 0xe4], ecx
jne 0x432f9b
mov dword [edi + 0xe4], 0
lea esi, [edi + 0xd0]
jmp 0x432f4d
cmp bl, 8
je 0x432fb1
cmp bl, 0x7f
jne 0x4330ea
mov eax, dword [edi + 0xcc]
test eax, eax
jle 0x4330ea
add eax, 0xffffffff
lea esi, [edi + 0xb0]
push eax
mov ecx, esi
call fcn.0040a50f
cmp word [eax], 0xa
jne 0x433087
mov ebx, dword [edi + 0xcc]
sub ebx, 1
push 0
mov eax, edi
mov dword [esp + 0x18], ebx
call fcn.0042f100
push ebx
lea eax, [esp + 0xb8]
push eax
lea ecx, [esp + 0x84]
push ecx
mov ecx, esi
call fcn.0040aea7
mov ecx, eax
call fcn.0041f6b1
mov edx, dword [eax + 4]
mov eax, dword [eax]
push edx
push eax
lea ecx, [esp + 0x30]
push ecx
mov ebx, esi
call fcn.00438040
push esi
lea esi, [esp + 0x104]
call fcn.00454f00
add esp, 4
xor ebx, ebx
push ebx
push edi
mov edi, eax
call fcn.0042eec0
cmp dword [esp + 0x118], 0x10
jb 0x433057
mov edx, dword [esp + 0x104]
push edx
call fcn.0050b609
add esp, 4
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x20]
mov dword [esp + 0x118], 0xf
mov dword [esp + 0x114], ebx
mov byte [esp + 0x104], bl
mov dword [esi + 0xcc], eax
call fcn.0042f020
mov edi, esi
jmp 0x4330e6
mov ecx, dword [edi + 0xcc]
push ecx
lea edx, [esp + 0xa8]
push edx
lea eax, [esp + 0x94]
push eax
mov ecx, esi
call fcn.0040aea7
mov ecx, eax
call fcn.0041f6b1
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x30], ecx
push 0xffffffffffffffff
lea ecx, [esp + 0x34]
mov dword [esp + 0x38], edx
call fcn.00420486
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
push eax
push ecx
lea edx, [esp + 0x30]
push edx
mov ebx, esi
call fcn.00438040
mov eax, edi
call fcn.0042f0e0
mov byte [esp + 0x13], 1
mov bl, byte [esp + 0x1b]
cmp bl, 0xd
je 0x43342d
cmp bl, 0xa
je 0x43342d
cmp bl, 0x1b
jne 0x43310d
mov esi, edi
call fcn.0042f1b0
jmp 0x43384b
mov al, bl
sub al, 0x20
cmp al, 0x5e
ja 0x4331b1
movsx ecx, bl
push ecx
call fcn.0050edcc
add esp, 4
cmp byte [edi + 0xac], 0
je 0x43315d
mov ecx, dword [edi + 0xc4]
mov eax, dword [edi + 0xcc]
cmp eax, ecx
jge 0x43315d
push eax
lea ecx, [edi + 0xb0]
call fcn.0040a50f
movsx dx, bl
mov word [eax], dx
add dword [edi + 0xcc], 1
jmp 0x43384b
mov eax, dword [edi + 0xcc]
push eax
lea ecx, [esp + 0xb0]
push ecx
lea edx, [esp + 0x5c]
lea esi, [edi + 0xb0]
push edx
mov ecx, esi
call fcn.0040aea7
mov ecx, eax
call fcn.0041f6b1
mov ecx, dword [eax + 4]
mov edx, dword [eax]
movsx ax, bl
push ecx
push edx
lea ecx, [esp + 0x1b0]
push eax
push ecx
mov eax, esi
call fcn.0041def7
add dword [edi + 0xcc], 1
mov byte [esp + 0x13], 1
jmp 0x43384b
cmp bl, 0x16
jne 0x43384b
lea esi, [esp + 0x1dc]
call fcn.00432990
lea ecx, [esp + 0x1c0]
mov dword [esp + 0x208], 3
call fcn.0040a28b
mov byte [esp + 0x208], 4
cmp dword [esp + 0x1f0], 0
mov dword [esp + 0x14], 0
jle 0x4332d0
mov eax, dword [esp + 0x14]
nop
push eax
lea ecx, [esp + 0x1e0]
call fcn.0040a333
mov bl, byte [eax]
cmp bl, 9
jne 0x433218
mov bl, 0x20
jmp 0x433220
test bl, bl
je 0x4332b8
or edx, 0xffffffff
sub edx, dword [esp + 0x1d4]
cmp edx, 1
ja 0x433234
call fcn.005079dd
mov esi, dword [esp + 0x1d4]
add esi, 1
cmp esi, 0xfffffffe
jbe 0x433248
call fcn.005079dd
mov eax, dword [esp + 0x1d8]
cmp eax, esi
jae 0x433329
mov eax, dword [esp + 0x1d4]
push eax
push esi
lea ecx, [esp + 0x1c8]
call fcn.0040c366
test esi, esi
jbe 0x4332b8
mov eax, dword [esp + 0x1c4]
mov ecx, 0x10
cmp dword [esp + 0x1d8], ecx
jae 0x43328c
lea eax, [esp + 0x1c4]
mov edx, dword [esp + 0x1d4]
mov byte [edx + eax], bl
cmp dword [esp + 0x1d8], ecx
mov eax, dword [esp + 0x1c4]
mov dword [esp + 0x1d4], esi
jae 0x4332b4
lea eax, [esp + 0x1c4]
mov byte [esi + eax], 0
mov eax, dword [esp + 0x14]
add eax, 1
cmp eax, dword [esp + 0x1f0]
mov dword [esp + 0x14], eax
jl 0x433200
mov ecx, dword [esp + 0x1d4]
test ecx, ecx
mov esi, dword [edi + 0xcc]
mov dword [esp + 0x14], 0
jle 0x4333be
lea ecx, [ecx]
mov eax, dword [esp + 0x14]
push eax
lea ecx, [esp + 0x1c4]
call fcn.0040a333
cmp byte [edi + 0xac], 0
mov bl, byte [eax]
je 0x433353
cmp esi, dword [edi + 0xc4]
jge 0x433353
push esi
lea ecx, [edi + 0xb0]
call fcn.0040a50f
movsx cx, bl
mov word [eax], cx
jmp 0x433395
test esi, esi
jne 0x43326e
cmp eax, 0x10
mov eax, dword [esp + 0x1c4]
mov dword [esp + 0x1d4], esi
jae 0x43334b
lea eax, [esp + 0x1c4]
mov byte [eax], 0
jmp 0x4332b8
push esi
lea edx, [esp + 0xc0]
push edx
lea eax, [esp + 0xcc]
push eax
lea ecx, [edi + 0xb0]
call fcn.0040aea7
mov ecx, eax
call fcn.0041f6b1
mov ecx, dword [eax + 4]
mov edx, dword [eax]
movsx ax, bl
push ecx
push edx
lea ecx, [esp + 0x1b8]
push eax
push ecx
lea eax, [edi + 0xb0]
call fcn.0041def7
movsx edx, bl
push edx
call fcn.0050edcc
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1d8]
add eax, 1
add esp, 4
add esi, 1
cmp eax, ecx
mov dword [esp + 0x14], eax
jl 0x4332f0
add dword [edi + 0xcc], ecx
mov esi, 0x10
cmp dword [esp + 0x1d8], esi
jb 0x4333e2
mov eax, dword [esp + 0x1c4]
push eax
call fcn.0050b609
add esp, 4
mov dword [esp + 0x208], 0xffffffff
cmp dword [esp + 0x1f4], esi
mov dword [esp + 0x1d8], 0xf
mov dword [esp + 0x1d4], 0
mov byte [esp + 0x1c4], 0
jb 0x433856
mov ecx, dword [esp + 0x1e0]
push ecx
call fcn.0050b609
add esp, 4
jmp 0x433856
lea edx, [esp + 0x1dc]
lea ebx, [edi + 0xb0]
push edx
mov esi, ebx
call fcn.00424460
add esp, 4
push 0x564f14
mov dword [esp + 0x20c], 1
call fcn.0050b74d
add esp, 4
push eax
mov eax, dword [esp + 0x1f4]
push 0x564f14
push eax
push 0
lea ecx, [esp + 0x1ec]
call fcn.0040e696
test eax, eax
je 0x433979
push str.quit
call fcn.0050b74d
mov ecx, dword [esp + 0x1f4]
add esp, 4
push eax
push str.quit
push ecx
push 0
lea ecx, [esp + 0x1ec]
call fcn.0040e696
test eax, eax
je 0x433994
push 0x564f2c
call fcn.0050b74d
mov edx, dword [esp + 0x1f4]
add esp, 4
push eax
push 0x564f2c
push edx
push 0
lea ecx, [esp + 0x1ec]
call fcn.0040e696
test eax, eax
je 0x43399b
mov edx, dword [edi + 0x78]
mov eax, dword [edx + 8]
sub eax, dword [edx + 0xc]
mov ecx, dword [edi + 0xc4]
sar eax, 4
mov esi, 8
cmp dword [ebx + 0x18], esi
mov dword [esp + 0x14], eax
jb 0x433508
mov eax, dword [ebx + 4]
jmp 0x43350b
lea eax, [ebx + 4]
push 0x564f38
push edx
call fcn.00446e60
add esp, 8
cmp eax, 3
mov dword [esp + 0x28], eax
jne 0x4335cf
mov eax, dword [edi + 0x78]
push str.near___eof_
push ecx
push 0xffffffffffffffff
push eax
call fcn.00444100
add esp, 0xc
push eax
call fcn.0050e8ef
add esp, 8
test eax, eax
je 0x4335cf
mov eax, dword [edi + 0x78]
add dword [eax + 8], 0xfffffff0
mov esi, dword [esp + 0x24]
push 0x20
call fcn.0050edcc
add esp, 4
lea ecx, [esp + 0xe8]
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
cmp word [esp + 0xec], 0
jne 0x433556
push 0x56491c
call fcn.0050e94d
mov edx, dword [edi + 0xcc]
add esp, 4
push edx
lea eax, [esp + 0x60]
push eax
lea ecx, [esp + 0x6c]
push ecx
mov ecx, ebx
call fcn.0040aea7
mov ecx, eax
call fcn.0041f6b1
mov edx, dword [eax + 4]
mov eax, dword [eax]
push edx
push eax
push 0xa
lea ecx, [esp + 0x1c4]
push ecx
mov eax, ebx
call fcn.0041def7
add dword [edi + 0xcc], 1
mov byte [esp + 0x13], 1
jmp 0x433826
push 0x564918
call fcn.00425430
add esp, 4
cmp dword [ebx + 0x18], esi
jb 0x4335e6
mov eax, dword [ebx + 4]
jmp 0x4335e9
lea eax, [ebx + 4]
push eax
call fcn.00425490
add esp, 4
push 0x560590
call fcn.00425430
mov eax, dword [edi + 0xc4]
add esp, 4
mov esi, edi
mov dword [edi + 0xcc], eax
call fcn.0042f020
push 0xa
call fcn.0050edcc
add esp, 4
cmp dword [edi + 0xc4], 0
jbe 0x433631
push ebx
lea ecx, [edi + 0xd0]
call fcn.00415285
mov eax, dword [edi + 0xe4]
cmp eax, 0xffffffff
je 0x433656
push ebx
push eax
lea ecx, [edi + 0xd0]
call fcn.00438dd0
push eax
call fcn.004208f1
add esp, 8
test al, al
je 0x43366a
lea ecx, [edi + 0xd0]
call fcn.0040f476
sub eax, 1
mov dword [edi + 0xe4], eax
mov esi, dword [esp + 0x28]
test esi, esi
mov byte [edi + 0xec], 1
jne 0x433687
push esi
push esi
push edi
call fcn.00428350
mov esi, eax
test esi, esi
je 0x433696
push esi
push edi
call fcn.0042ed80
test esi, esi
jne 0x433806
mov eax, dword [edi + 0x78]
mov edx, dword [eax + 8]
sub edx, dword [eax + 0xc]
sar edx, 4
cmp edx, dword [esp + 0x14]
jle 0x433806
push 0x564928
push eax
call fcn.00444340
mov eax, dword [edi + 0x78]
push 0xffffd8ee
push eax
call fcn.00444480
mov esi, dword [edi + 0x78]
mov eax, 1
call fcn.00443e00
mov eax, dword [edi + 0x78]
mov edx, dword [eax + 8]
sub edx, dword [eax + 0xc]
mov ebx, dword [esp + 0x24]
sar edx, 4
mov ecx, ebx
sub ecx, edx
shl ecx, 4
add ecx, dword [eax + 8]
xor edx, edx
mov dword [esp + 0x84], ecx
sub ecx, dword [eax + 0x1c]
mov dword [esp + 0x88], 0
push ecx
lea ecx, [esp + 0x88]
push ecx
call fcn.00450ff0
add esp, 0x18
test eax, eax
je 0x433806
mov edx, dword [edi + 0x78]
push 0xffffffffffffffff
push edx
call fcn.00444100
push eax
mov eax, dword [edi + 0x78]
push str.error_calling__print___s_
push eax
call fcn.004443b0
add esp, 0x14
push eax
lea ecx, [esp + 0xd0]
call fcn.0040a406
lea ecx, [esp + 0xcc]
push ecx
lea esi, [esp + 0x120]
mov byte [esp + 0x20c], 2
call fcn.00454f00
mov esi, 0x10
add esp, 4
cmp dword [eax + 0x18], esi
jb 0x433774
mov eax, dword [eax + 4]
jmp 0x433777
add eax, 4
push eax
call fcn.0042ed50
cmp dword [esp + 0x134], esi
jb 0x433796
mov edx, dword [esp + 0x120]
push edx
call fcn.0050b609
add esp, 4
xor esi, esi
mov byte [esp + 0x208], 1
cmp dword [esp + 0xe4], 8
mov dword [esp + 0x134], 0xf
mov dword [esp + 0x130], esi
mov byte [esp + 0x120], 0
jb 0x4337d4
mov eax, dword [esp + 0xd0]
push eax
call fcn.0050b609
add esp, 4
mov eax, dword [edi + 0x78]
mov dword [esp + 0xe4], 7
mov dword [esp + 0xe0], esi
mov word [esp + 0xd0], si
mov ecx, dword [eax + 8]
sub ecx, dword [eax + 0xc]
sar ecx, 4
sub ebx, ecx
push ebx
push eax
call fcn.00443d70
add esp, 8
cmp byte [edi + 0x84], 0
jne 0x433826
cmp byte [edi + 0xec], 0
je 0x433826
mov esi, edi
mov byte [edi + 0xec], 0
call fcn.0042ef80
mov dword [esp + 0x208], 0xffffffff
cmp dword [esp + 0x1f4], 8
jb 0x43384b
mov edx, dword [esp + 0x1e0]
push edx
call fcn.0050b609
add esp, 4
cmp byte [esp + 0x13], 0
je 0x433951
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0xe8]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
lea edx, [edi + 0xb0]
push edx
lea esi, [esp + 0x174]
call fcn.00454f00
add esp, 4
mov esi, 0x10
mov dword [esp + 0x208], 5
cmp dword [eax + 0x18], esi
jb 0x433899
mov eax, dword [eax + 4]
jmp 0x43389c
add eax, 4
mov ecx, dword [edi + 0xcc]
add ecx, eax
push ecx
lea ecx, [esp + 0x158]
call fcn.0040a2a0
xor ebx, ebx
push ebx
push edi
lea edi, [esp + 0x15c]
call fcn.0042eec0
cmp dword [esp + 0x16c], esi
jb 0x4338da
mov edx, dword [esp + 0x158]
push edx
call fcn.0050b609
add esp, 4
mov esi, 0xf
mov dword [esp + 0x208], 0xffffffff
cmp dword [esp + 0x188], 0x10
mov dword [esp + 0x16c], esi
mov dword [esp + 0x168], ebx
mov byte [esp + 0x158], 0
jb 0x43391a
mov eax, dword [esp + 0x174]
push eax
call fcn.0050b609
add esp, 4
push 0x20
mov dword [esp + 0x18c], esi
mov dword [esp + 0x188], ebx
mov byte [esp + 0x178], 0
call fcn.0050edcc
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0x28]
add esp, 4
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
mov edi, dword [esp + 0x20]
lea eax, [esp + 0x1c]
push eax
push 1
lea ecx, [esp + 0x48]
push ecx
push 0xfffffffffffffff6
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
push eax
call dword [sym.imp.KERNEL32.dll_PeekConsoleInputA]
test eax, eax
jne 0x432ab6
jmp 0x4339fa
mov ecx, edi
call fcn.00432000
cmp dword [esp + 0x1f4], 8
jb 0x4339fa
mov edx, dword [esp + 0x1e0]
push edx
jmp 0x4339f2
push 0
call fcn.0050d409
mov esi, edi
call fcn.0042f1b0
push 0x564f34
call fcn.0050f555
add esp, 4
push 0x564918
call fcn.0050e94d
add esp, 4
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
lea ecx, [esp + 0x1c0]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
cmp dword [esp + 0x1f4], 8
mov edx, dword [esp + 0x1c4]
mov dword [edi + 0xe8], edx
jb 0x4339fa
mov eax, dword [esp + 0x1e0]
push eax
call fcn.0050b609
add esp, 4
mov ecx, dword [esp + 0x200]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1e8]
xor ecx, esp
call fcn.0050bc9c
mov esp, ebp
pop ebp
ret