Function at 0x4018d0
Capabilities:
Terminate process

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x114
mov eax, dword [0x403004]
xor eax, esp
mov dword [esp + 0x110], eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
mov dword [esp + 0xc], eax
xor ebx, ebx
push edi
xor eax, eax
inc eax
push 0x401100
mov edi, eax
mov dword [esp + 0x18], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test eax, eax
je 0x401932
push 0x401110
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
je 0x401932
xor eax, eax
mov ecx, esi
push eax
push eax
push edi
push eax
call dword [0x4040a0]
call esi
push 1
call fcn.00402731
mov edx, eax
xor esi, esi
mov eax, dword [ebp + 8]
inc esi
sub eax, esi
mov dword [0x403370], edx
pop ecx
mov dword [esp + 0xc], eax
je 0x4019c5
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + esi*4]
mov al, byte [ecx]
cmp al, 0x2f
je 0x401965
cmp al, 0x2d
jne 0x401ba7
movsx eax, byte [ecx + 1]
cmp eax, 0x58
jg 0x4019ed
je 0x401a99
cmp eax, 0x4e
jg 0x4019a8
je 0x401a14
sub eax, 0x3f
je 0x401bc4
sub eax, 4
je 0x401a31
sub eax, 5
je 0x401bc4
sub eax, 1
jne 0x401ba7
or ebx, 1
jmp 0x4019bd
cmp eax, 0x4f
je 0x401a36
cmp eax, 0x53
jne 0x401aa1
or ebx, 2
inc esi
sub dword [esp + 0xc], 1
jne 0x401950
mov eax, ebx
and eax, 3
cmp al, 3
jne 0x401ace
push 0x4011f4
push 2
call fcn.00402731
pop ecx
push eax
call dword [sym.imp.msvcrt.dll_fprintf]
pop ecx
pop ecx
jmp 0x401bbf
cmp eax, 0x6f
jg 0x401a81
je 0x401a36
sub eax, 0x63
je 0x401a31
sub eax, 5
je 0x401bc4
sub eax, 1
je 0x4019a3
sub eax, 5
jne 0x401ba7
lea eax, [ecx + 2]
push eax
call dword [sym.imp.msvcrt.dll_atoi]
mov edi, eax
pop ecx
test edi, edi
jle 0x401abc
mov edx, dword [0x403370]
jmp 0x4019bd
or ebx, 8
jmp 0x4019bd
lea eax, [ecx + 2]
push 0x401140
push eax
call dword [sym.imp.msvcrt.dll_fopen]
mov edx, eax
mov dword [0x403370], edx
pop ecx
pop ecx
test edx, edx
jne 0x4019bd
mov eax, dword [esp + 0x10]
mov eax, dword [eax + esi*4]
add eax, 2
push eax
push 0x401144
push 2
call fcn.00402731
pop ecx
push eax
call dword [sym.imp.msvcrt.dll_fprintf]
add esp, 0xc
push 1
call dword [sym.imp.msvcrt.dll_exit]
sub eax, 0x73
je 0x4019ba
sub eax, 3
je 0x401aaa
dec eax
sub eax, 1
jne 0x401ba7
or ebx, 4
jmp 0x4019bd
cmp eax, 0x56
jne 0x401ba7
push 0x401198
push edx
call dword [sym.imp.msvcrt.dll_fprintf]
pop ecx
pop ecx
push 0
jmp 0x401a7b
mov eax, dword [esp + 0x10]
push dword [eax + esi*4 - 4]
push 0x401164
jmp 0x401bad
test bl, 1
je 0x401ad7
xor eax, eax
jmp 0x401ae1
test bl, 2
push 0
pop eax
sete al
inc eax
mov dword [esp + 0xc], eax
test edi, edi
je 0x401b90
mov esi, ebx
shr ebx, 2
shr esi, 3
and esi, 1
and ebx, 1
push ecx
lea ecx, [esp + 0x1c]
mov edx, ebx
push ecx
push esi
mov ecx, eax
call fcn.00401d00
mov ecx, eax
sub ecx, 0
je 0x401b45
sub ecx, 0xe
je 0x401b89
sub ecx, 0x6bd
je 0x401b6e
sub ecx, 0x55
jne 0x401b63
cmp dword [esp + 0x14], ecx
je 0x401b45
push 0x4012d0
push 2
call fcn.00402731
pop ecx
push eax
call dword [sym.imp.msvcrt.dll_fprintf]
and dword [esp + 0x1c], 0
pop ecx
pop ecx
lea eax, [esp + 0x18]
push eax
push dword [0x403370]
call dword [sym.imp.msvcrt.dll_fprintf]
pop ecx
pop ecx
sub edi, 1
je 0x401b90
mov eax, dword [esp + 0xc]
jmp 0x401afb
push eax
push 0x4012c0
jmp 0x401a67
push 0x401270
push 2
call fcn.00402731
pop ecx
push eax
call dword [sym.imp.msvcrt.dll_fprintf]
pop ecx
pop ecx
jmp 0x401a79
push 0x401234
jmp 0x401b73
mov ecx, dword [esp + 0x11c]
xor eax, eax
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00402220
mov esp, ebp
pop ebp
ret
push ecx
push 0x401124
push 2
call fcn.00402731
pop ecx
push eax
call dword [sym.imp.msvcrt.dll_fprintf]
add esp, 0xc
call fcn.00401bde
call fcn.00401bf9
int3