Function at 0x40a5b0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
and esp, 0xfffffff8
mov eax, 0x80060
call fcn.0040b8b0
mov eax, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
call fcn.0040afd0
mov dword [esp + 0x8005c], 0
mov dword [0x43a154], 0xffffffff
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0040a4b0
cmp eax, 0
jne 0x40a611
mov eax, dword [ebp + 8]
mov ecx, dword [0x432b50]
sub eax, dword [ecx]
cmp eax, 1
je 0x40a62a
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.0040a360
mov dword [esp + 0x8005c], eax
jmp 0x40a8d1
mov eax, dword [ebp + 0xc]
mov ecx, dword [0x432b50]
mov ecx, dword [ecx]
mov eax, dword [eax + ecx*4]
mov dword [0x43a138], eax
cmp dword [0x43a154], 0
jl 0x40a65b
mov eax, 0x64
cmp eax, dword [0x43a154]
jg 0x40a665
mov dword [0x43a154], 0x14
cmp dword [0x43a148], 0
je 0x40a687
call fcn.00403f80
mov dword [esp + 0x8005c], 0
jmp 0x40a8d1
mov dword [esp + 0x80054], 0
mov dword [esp + 0x80050], 0
mov dword [esp + 0x80054], 0
mov dword [esp + 0x80050], 0
lea eax, [esp + 0x40040]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x40010
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov dword [esp + 0x4003c], 0
mov ecx, dword [0x43a138]
lea edx, [esp + 0x40040]
lea eax, [esp + 0x80050]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004086e0
mov dword [esp + 0x4003c], eax
cmp dword [esp + 0x4003c], 0
jne 0x40a74e
mov dword [esp], 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov edx, eax
mov eax, dword [0x43a138]
lea ecx, str.Cannot_read___s_._n
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0040a8e0
mov dword [esp], 1
call sub.api_ms_win_crt_runtime_l1_1_0.dll_exit
cmp dword [0x43a13c], 0
je 0x40a825
mov dword [esp + 0x40034], 0
mov dword [esp + 0x40030], 0
lea eax, [esp + 0x20]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x40010
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov dword [esp + 0x1c], 0
mov ecx, dword [0x43a13c]
lea edx, [esp + 0x20]
lea eax, [esp + 0x40030]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004086e0
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x1c], 0
jne 0x40a7fd
mov dword [esp], 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov edx, eax
mov eax, dword [0x43a13c]
lea ecx, str.Cannot_read___s_._n
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0040a8e0
mov dword [esp], 1
call sub.api_ms_win_crt_runtime_l1_1_0.dll_exit
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x4003c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004095b0
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call fcn.004024b0
jmp 0x40a8b7
mov dword [esp + 0x18], 0
mov ecx, dword [esp + 0x4003c]
mov eax, esp
mov dword [eax], ecx
call fcn.00408f80
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x4003c]
mov edx, dword [eax + 0x18]
mov esi, dword [esp + 0x80050]
mov edi, dword [esp + 0x80054]
mov eax, esp
mov dword [eax + 0x10], edi
mov dword [eax + 0xc], esi
mov dword [eax + 8], edx
mov dword [eax + 4], ecx
lea ecx, [esp + 0x40040]
mov dword [eax], ecx
call fcn.00409010
cmp dword [0x43a140], 0
je 0x40a895
mov eax, dword [esp + 0x4003c]
mov dword [esp], eax
call fcn.00405c40
mov eax, dword [esp + 0x18]
mov dword [esp + 0x14], eax
cmp eax, 0
je 0x40a8b2
mov eax, dword [esp + 0x14]
mov dword [esp], eax
call fcn.0040ac20
jmp 0x40a8b7
mov eax, dword [esp + 0x4003c]
mov dword [esp], eax
call fcn.004024b0
mov dword [esp + 0x8005c], 0
mov eax, dword [esp + 0x8005c]
lea esp, [ebp - 8]
pop esi
pop edi
pop ebp
ret