Function at 0x402d7b
Capabilities:
Terminate process

Disassembly:
push 0x50
mov eax, 0x404270
call fcn.00404028
mov esi, dword [ebp + 8]
xor ebx, ebx
xor edi, edi
mov dword [ebp - 0x20], ebx
inc edi
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x2c], ebx
mov ebx, dword [ebp + 0xc]
cmp esi, edi
jle 0x402dfd
push 0x401b4c
push dword [ebx + 4]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x402dfd
mov dword [ebp - 0x20], edi
push 2
pop edi
cmp esi, 3
jle 0x402dfd
push 0x401b54
push dword [ebx + 8]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x402dfd
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x28], eax
push 4
pop edi
cmp esi, 5
jle 0x402dfd
push 0x401b5c
push dword [ebx + 0x10]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x402dfd
mov eax, dword [ebx + 0x14]
push 6
mov dword [ebp - 0x2c], eax
pop edi
and dword [ebp - 0x14], 0
cmp edi, esi
jge 0x403011
push 0x2c
push dword [ebx + edi*4]
call dword [sym.imp.VCRUNTIME140.dll_wcschr]
pop ecx
pop ecx
test eax, eax
je 0x402e2f
mov ecx, dword [ebx + edi*4]
call fcn.00402603
xor eax, eax
inc eax
inc edi
mov dword [ebp - 0x14], eax
cmp edi, esi
jl 0x402e09
jmp 0x402e32
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x403011
lea eax, [esi - 2]
cmp edi, eax
jl 0x403011
lea eax, [esi - 1]
cmp edi, eax
jg 0x403011
mov esi, dword [sym.imp.mfc140u.dll_CStdioFile::CStdioFile]
lea ecx, [ebp - 0x5c]
call esi
mov dword [ebp - 0x5c], 0x401bc8
and dword [ebp - 4], 0
lea ecx, [ebp - 0x44]
call esi
mov dword [ebp - 0x44], 0x401bc8
lea ecx, [ebp - 0x10]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
and dword [ebp - 0x14], 0
mov byte [ebp - 4], 2
mov esi, dword [ebp + 8]
mov dword [ebp - 0x24], 2
push dword [ebx + edi*4]
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__3]
push dword [ebp - 0x14]
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 3
push eax
lea ecx, [ebp - 0x5c]
call fcn.004024b3
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 2
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea eax, [edi + 1]
cmp eax, esi
jge 0x402ef1
push dword [ebx + edi*4 + 4]
lea ecx, [ebp - 0x1c]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__3]
push 0x1001
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x44]
call fcn.004024b3
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 2
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
jmp 0x402efd
push 1
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
pop ecx
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x5c]
call fcn.0040243f
test eax, eax
je 0x402f3d
mov esi, dword [ebp - 0x20]
mov edx, esi
lea ecx, [ebp - 0x10]
call fcn.0040280b
test eax, eax
je 0x402f2a
mov eax, dword [ebp - 0x44]
lea ecx, [ebp - 0x44]
push dword [ebp - 0x10]
call dword [eax + 0x60]
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x5c]
call fcn.0040243f
test eax, eax
jne 0x402f10
mov esi, dword [ebp + 8]
lea ecx, [ebp - 0x5c]
call dword [sym.imp.mfc140u.dll_CStdioFile::Close]
or dword [ebp - 0x14], 0x400
sub dword [ebp - 0x24], 1
jne 0x402e8d
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x402fe7
push dword [ebp - 0x2c]
mov edx, ebx
lea ecx, [ebp + 8]
call fcn.00402bc6
mov byte [ebp - 4], 5
mov eax, dword [ebp + 8]
cmp dword [eax - 0xc], 0
jne 0x402fa5
push ebx
push 0x401b68
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
pop ecx
push eax
call fcn.00402356
add esp, 0xc
lea ecx, [ebp - 0x44]
call dword [sym.imp.mfc140u.dll_CStdioFile::Close]
push 1
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
push 0
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x5c]
call fcn.004024b3
jmp 0x402fc1
mov eax, dword [ebp - 0x44]
lea ecx, [ebp - 0x44]
push dword [ebp - 0x10]
call dword [eax + 0x60]
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x5c]
call fcn.0040243f
test eax, eax
jne 0x402fb5
lea ecx, [ebp - 0x5c]
call dword [sym.imp.mfc140u.dll_CStdioFile::Close]
lea ecx, [ebp + 8]
mov byte [ebp - 4], 2
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x44]
call dword [sym.imp.mfc140u.dll_CStdioFile::Close]
lea ecx, [ebp - 0x10]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov esi, dword [reloc.mfc140u.dll_CStdioFile::CStdioFile]
lea ecx, [ebp - 0x44]
call esi
lea ecx, [ebp - 0x5c]
call esi
xor eax, eax
call fcn.00404005
ret
xor edx, edx
xor ecx, ecx
call fcn.004023c8
int3