Function at 0x410c60
Capabilities:
Terminate process
Write file on windows

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x20
mov esi, ecx
mov eax, dword [ecx + 0x20]
cmp eax, 0x19
jne 0x410c99
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push dword [esi + 0x2c]
push 0x19
push str.Input_nesting_limit___d__reached_at_line__d._Check_recursion._n
push eax
call fcn.004014c0
add esp, 0x10
mov eax, 1
jmp 0x4111f8
inc eax
mov dword [esi + 0x20], eax
mov dword [esp + 0xc], esi
mov dword [esi + 0x2c], 0
xor ecx, ecx
mov ebp, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isspace]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp + 0x18], 0
xor ebx, ebx
mov dword [esp + 0x14], 0
xor esi, esi
mov edi, dword [esp + 0xc]
mov dword [esp + 0x10], ebx
mov dword [esp], ecx
nop
test ebx, ebx
je 0x410d04
cmp dword [0x53ddb8], 0
je 0x410d04
cmp dword [edi + 0x34], 0
jne 0x411192
cmp dword [0x53c140], 0
je 0x411192
push dword [edi + 0x38]
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fflush
add esp, 4
mov edx, dword [edi + 0x34]
test edx, edx
je 0x410d20
mov ecx, dword [esp]
jmp 0x410d66
cmp dword [esp + 4], 0
mov eax, 0x53ddd0
mov ecx, 0x53ddbc
cmovle eax, ecx
push eax
push 0x51d22f
call fcn.00408710
add esp, 8
push 1
mov edi, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
call edi
add esp, 4
push eax
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fflush
add esp, 4
push 0
call edi
mov edi, dword [esp + 0x10]
add esp, 4
mov ecx, dword [esp]
mov edx, eax
call fcn.00422e90
mov ecx, eax
test eax, eax
je 0x41116b
mov edx, esi
cmp dword [0x53dde4], 0
je 0x410d94
cmp dword [edi + 0x34], 0
jne 0x411195
mov dword [0x53dde4], 0
inc dword [edi + 0x2c]
test dl, dl
mov dword [esp], ecx
je 0x410e00
call fcn.00422820
mov edi, eax
and edi, 0xfffffdff
mov ecx, dword [esp + 4]
test ecx, ecx
sete bl
mov edx, edi
or edx, ecx
jne 0x410eb0
mov dword [esp + 4], 0
mov edi, dword [esp + 0xc]
test byte [edi + 0x6c], 0x40
mov esi, 0
mov ebx, dword [esp + 0x10]
je 0x410ce0
push dword [esp]
push 0x51e066
push dword [edi + 0x38]
call fcn.004014c0
add esp, 0xc
xor esi, esi
jmp 0x410ce0
mov edi, ecx
nop word cs:[eax + eax]
movzx ebx, byte [edi]
push ebx
call ebp
add esp, 4
inc edi
test eax, eax
jne 0x410e10
cmp bl, 0x2f
je 0x410e60
push ebx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
add esp, 4
cmp al, 0x67
mov ecx, dword [esp]
mov edx, esi
jne 0x410d9e
movzx eax, byte [edi]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
mov edx, esi
mov ecx, dword [esp + 4]
add esp, 4
cmp al, 0x6f
jne 0x410d9e
inc edi
nop word cs:[eax + eax]
mov ecx, edi
xor edx, edx
call fcn.00422820
test eax, eax
mov ecx, dword [esp]
mov edx, esi
jne 0x410d9e
cmp dword [esp + 8], 0
je 0x410ea6
mov edi, dword [esp + 8]
mov ebx, dword [esp + 4]
mov word [edi + ebx], 0x3b
push edi
call fcn.004381e0
mov edx, esi
mov ecx, dword [esp + 4]
add esp, 4
mov byte [edi + ebx], 0
test eax, eax
je 0x410d9e
mov word [ecx], 0x3b
jmp 0x410d9e
mov ecx, dword [esp]
movzx edx, byte [ecx]
cmp dl, 0x2e
jne 0x410ec4
cmp dword [esp + 4], 0
je 0x410ed0
jmp 0x410f42
cmp dl, 0x23
jne 0x410f44
cmp dword [esp + 4], 0
jne 0x410f44
mov edi, dword [esp + 0xc]
test byte [edi + 0x6c], 0x40
je 0x410ef2
push ecx
push 0x51e066
push dword [edi + 0x38]
call fcn.004014c0
mov ecx, dword [esp + 0xc]
add esp, 0xc
movzx edx, byte [ecx]
mov dword [esp + 4], 0
mov esi, 0
cmp dl, 0x2e
mov ebx, dword [esp + 0x10]
jne 0x410cdc
mov ecx, dword [esp]
mov edx, edi
call fcn.00408790
mov ecx, dword [esp]
mov esi, eax
mov dword [esp + 4], eax
test eax, eax
je 0x410cdc
cmp dword [esp + 4], 2
je 0x411200
inc ebx
mov dword [esp + 4], 0
xor esi, esi
jmp 0x410cd8
xor ebx, ebx
mov esi, 0xffffffff
nop dword [eax]
mov edx, esi
cmp byte [ecx + esi + 1], 0
lea esi, [esi + 1]
jne 0x410f50
and esi, 0x3fffffff
mov ecx, dword [esp + 4]
lea edx, [esi + ecx]
add edx, 2
cmp edx, dword [esp + 0x18]
mov edx, esi
mov dword [esp + 0x1c], eax
jge 0x410f7c
mov esi, edx
jmp 0x410fa5
mov esi, edx
lea eax, [edx + ecx]
sar ecx, 1
add eax, ecx
add eax, 0x64
mov dword [esp + 0x18], eax
push eax
push dword [esp + 0xc]
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
add esp, 8
mov dword [esp + 8], eax
test eax, eax
je 0x411208
test bl, bl
je 0x410fd1
mov ecx, dword [esp]
movzx eax, byte [ecx]
xor ebx, ebx
test al, al
je 0x410ffc
movzx eax, al
push eax
call ebp
add esp, 4
test eax, eax
je 0x410ff9
mov ecx, dword [esp]
movzx eax, byte [ecx + ebx + 1]
inc ebx
test al, al
jne 0x410fb5
jmp 0x410ffc
mov eax, dword [esp + 8]
mov ebx, dword [esp + 4]
mov byte [eax + ebx], 0xa
add eax, ebx
inc eax
lea ecx, [esi + 1]
push ecx
push dword [esp + 4]
push eax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, ebx
add esp, 0xc
lea eax, [esi + ebx]
inc eax
jmp 0x41101f
mov ecx, dword [esp]
lea eax, [ecx + ebx]
sub esi, ebx
lea ecx, [esi + 1]
push ecx
push eax
push dword [esp + 0x10]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x14], eax
mov eax, esi
mov ebx, dword [esp + 0x10]
mov dword [esp + 4], eax
test eax, eax
mov esi, dword [esp + 0x1c]
je 0x41104d
mov eax, esi
and eax, 0xfffffeff
cmp eax, 0x200
jne 0x41104d
push dword [esp + 8]
call fcn.004381e0
add esp, 4
test eax, eax
jne 0x4110a7
cmp dword [esp + 4], 0
mov ecx, dword [esp]
je 0x410cd4
test edi, edi
jne 0x410cd4
mov eax, dword [esp + 0xc]
test byte [eax + 0x6c], 0x40
mov dword [esp + 4], 0
mov esi, 0
je 0x410cd4
push dword [esp + 8]
push 0x51e066
mov eax, dword [esp + 0x14]
push dword [eax + 0x38]
call fcn.004014c0
mov ecx, dword [esp + 0xc]
add esp, 0xc
mov dword [esp + 4], 0
jmp 0x410cd2
mov esi, dword [esp + 0xc]
test byte [esi + 0x6c], 0x40
je 0x4110c5
push dword [esp + 8]
push 0x51e066
push dword [esi + 0x38]
call fcn.004014c0
add esp, 0xc
mov ecx, esi
mov edx, dword [esp + 8]
push dword [esp + 0x14]
push dword [esi + 0x34]
call fcn.00422940
add esp, 8
mov edi, eax
cmp dword [esi + 0x24], 0
je 0x411109
mov ecx, esi
call fcn.00411380
mov dword [esi + 0x24], 0
mov ecx, dword [esp]
add ebx, edi
movzx eax, byte [esi + 0xe]
mov byte [esi + 0xd], al
mov dword [esp + 4], 0
jmp 0x410cd2
mov eax, dword [esi + 0x84]
test eax, eax
mov ecx, dword [esp]
je 0x4110f3
cmp byte [esi + 0xa], 0
jne 0x4110f3
push eax
call fcn.00428f90
add esp, 4
mov ebx, eax
push eax
call dword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__wunlink]
add esp, 4
mov dword [esp + 4], eax
push ebx
mov ebx, dword [esp + 0x14]
call fcn.00424f10
mov ecx, dword [esp + 4]
add esp, 4
cmp dword [esp + 4], 0
jne 0x4110f3
push dword [esi + 0x84]
call fcn.00424f10
mov ecx, dword [esp + 4]
add esp, 4
mov dword [esi + 0x84], 0
jmp 0x4110f3
xor ecx, ecx
cmp dword [edi + 0x34], 0
jne 0x411195
cmp dword [0x53c140], 0
mov edi, dword [esp + 8]
mov ebp, dword [esp + 4]
je 0x41119d
push 0xa
call sub.api_ms_win_crt_stdio_l1_1_0.dll_putchar
xor ecx, ecx
add esp, 4
jmp 0x41119d
mov ecx, dword [esp]
mov edi, dword [esp + 8]
mov ebp, dword [esp + 4]
mov dword [esp], ecx
test ebp, ebp
je 0x4111d6
mov esi, dword [esp + 0xc]
test byte [esi + 0x6c], 0x40
je 0x4111bf
push edi
push 0x51e066
push dword [esi + 0x38]
call fcn.004014c0
add esp, 0xc
mov ecx, esi
mov edx, edi
push dword [esp + 0x14]
push dword [esi + 0x34]
call fcn.00422940
add esp, 8
add ebx, eax
jmp 0x4111da
mov esi, dword [esp + 0xc]
push edi
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
add esp, 4
push dword [esp]
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
add esp, 4
dec dword [esi + 0x20]
xor eax, eax
test ebx, ebx
setg al
add esp, 0x20
pop esi
pop edi
pop ebx
pop ebp
ret
mov esi, edi
mov edi, dword [esp + 8]
jmp 0x4111da
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
push 1
push 0x15
push str.Error:_out_of_memory_n
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fwrite
add esp, 0x10
push 1
call sub.api_ms_win_crt_runtime_l1_1_0.dll_exit
nop dword [eax]