Function at 0x40ab60
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
and esp, 0xfffffff8
mov eax, 0x80080
call fcn.0040bea0
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], ecx
call fcn.0040b5c0
mov dword [esp + 0x8007c], 0
mov dword [0x43c154], 0xffffffff
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0040aa60
cmp eax, 0
jne 0x40abc8
mov eax, dword [0x433ae0]
mov ecx, dword [ebp + 8]
sub ecx, dword [eax]
cmp ecx, 1
je 0x40abe1
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.0040a900
mov dword [esp + 0x8007c], eax
jmp 0x40ae86
mov eax, dword [0x433ae0]
mov ecx, dword [ebp + 0xc]
mov eax, dword [eax]
mov eax, dword [ecx + eax*4]
mov dword [0x43c138], eax
cmp dword [0x43c154], 0
jl 0x40ac11
mov eax, 0x64
cmp eax, dword [0x43c154]
jg 0x40ac1b
mov dword [0x43c154], 0x14
cmp dword [0x43c148], 0
je 0x40ac3d
call fcn.00403f50
mov dword [esp + 0x8007c], 0
jmp 0x40ae86
xor eax, eax
mov dword [esp + 0x80074], 0
mov dword [esp + 0x80070], 0
lea ecx, [esp + 0x40060]
mov edx, ecx
mov dword [esp], edx
mov dword [esp + 4], 0
mov dword [esp + 8], 0x40010
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], ecx
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov dword [esp + 0x4005c], 0
mov eax, dword [0x43c138]
mov ecx, dword [esp + 0x28]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [esp + 0x80070]
mov dword [esp + 8], eax
call fcn.00408b90
mov dword [esp + 0x4005c], eax
cmp dword [esp + 0x4005c], 0
jne 0x40acf7
mov dword [esp], 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov ecx, dword [0x43c138]
mov dword [esp], eax
lea eax, str.Cannot_read___s_._n
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0040aea0
mov dword [esp], 1
mov dword [esp + 0x24], eax
call sub.api_ms_win_crt_runtime_l1_1_0.dll_exit
cmp dword [0x43c13c], 0
je 0x40adda
xor eax, eax
mov dword [esp + 0x40054], 0
mov dword [esp + 0x40050], 0
lea ecx, [esp + 0x40]
mov edx, ecx
mov dword [esp], edx
mov dword [esp + 4], 0
mov dword [esp + 8], 0x40010
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], ecx
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov dword [esp + 0x3c], 0
mov eax, dword [0x43c13c]
mov ecx, dword [esp + 0x1c]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [esp + 0x40050]
mov dword [esp + 8], eax
call fcn.00408b90
mov dword [esp + 0x3c], eax
cmp dword [esp + 0x3c], 0
jne 0x40adb2
mov dword [esp], 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov ecx, dword [0x43c13c]
mov dword [esp], eax
lea eax, str.Cannot_read___s_._n
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0040aea0
mov dword [esp], 1
mov dword [esp + 0x18], eax
call sub.api_ms_win_crt_runtime_l1_1_0.dll_exit
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x4005c]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409ad0
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call fcn.004024d0
jmp 0x40ae6c
mov dword [esp + 0x38], 0
mov eax, dword [esp + 0x4005c]
mov ecx, esp
mov dword [ecx], eax
call fcn.00409480
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x4005c]
mov ecx, dword [ecx + 0x18]
mov edx, dword [esp + 0x80070]
mov esi, dword [esp + 0x80074]
mov edi, esp
mov dword [edi + 0x10], esi
mov dword [edi + 0xc], edx
mov dword [edi + 8], ecx
mov dword [edi + 4], eax
lea eax, [esp + 0x40060]
mov dword [edi], eax
call fcn.00409520
cmp dword [0x43c140], 0
je 0x40ae4a
mov eax, dword [esp + 0x4005c]
mov dword [esp], eax
call fcn.00405df0
mov eax, dword [esp + 0x38]
cmp eax, 0
mov dword [esp + 0x14], eax
je 0x40ae67
mov eax, dword [esp + 0x14]
mov dword [esp], eax
call fcn.0040b210
jmp 0x40ae6c
mov eax, dword [esp + 0x4005c]
mov dword [esp], eax
call fcn.004024d0
mov dword [esp + 0x8007c], 0
mov eax, dword [esp + 0x8007c]
lea esp, [ebp - 8]
pop esi
pop edi
pop ebp
ret