Function at 0x4237f0
Capabilities:
Write file on windows

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x431d1b
push eax
mov eax, 0x8974
mov dword fs:[0], esp
call fcn.00431220
push ebx
push ebp
push esi
mov esi, dword [esp + 0x8990]
push edi
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x368]
rep stosd dword es:[edi], eax
mov ecx, 0x41
lea edi, [esp + 0x264]
mov ebx, dword [sym.imp.MSVCRT.dll_sprintf]
rep stosd dword es:[edi], eax
movsx eax, byte [esi]
push eax
lea ecx, [esp + 0x60]
push 0x438134
push ecx
call ebx
add esp, 0xc
lea edx, [esp + 0x368]
lea eax, [esp + 0x5c]
push edx
push eax
call fcn.00424930
mov ecx, eax
call fcn.00425c60
lea ecx, [esp + 0x368]
lea edx, [esp + 0x264]
push ecx
push str._s_tmp
push edx
call ebx
lea eax, [esp + 0x270]
push 0x437afc
push eax
call dword [sym.imp.MSVCRT.dll_fopen]
mov ebp, eax
xor edi, edi
add esp, 0x14
cmp ebp, edi
je 0x423cac
lea ecx, [esp + 0x24]
push 0x14
push ecx
push esi
call fcn.004109b0
lea edx, [esp + 0x30]
push 2
lea eax, [esp + 0xc8c]
push edx
push eax
mov dword [esp + 0x89a4], edi
mov dword [esp + 0x2bd8], edi
mov dword [esp + 0x2bd4], edi
call dword [sym.imp.MSVCRT.dll_wcsncpy]
lea ecx, [esp + 0xc94]
mov word [esp + 0xc98], di
push ecx
call fcn.00423e30
add esp, 0x1c
test eax, eax
je 0x423c98
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
lea edx, [esp + 0x2bc4]
push 0xf9f
lea eax, [esp + 0xc80]
push edx
push eax
call fcn.004109e0
mov eax, dword [esp + 0x2bcc]
add esp, 0xc
cmp eax, edi
mov dword [esp + 0x10], edi
jle 0x423ad0
xor esi, esi
mov dword [esp + 0x14], esi
mov ecx, dword [esp + 0x2bbc]
lea edx, [esp + 0x1c]
add esi, ecx
push edx
mov eax, dword [esi + 0x218]
mov ecx, dword [esi + 0x214]
push eax
push ecx
call fcn.00411080
mov eax, dword [esi + 0x220]
mov ecx, dword [esi + 0x21c]
lea edx, [esp + 0x2c]
push edx
push eax
push ecx
call fcn.00411080
mov eax, dword [esi + 0x228]
mov ecx, dword [esi + 0x224]
lea edx, [esp + 0x30]
push edx
push eax
push ecx
call fcn.00411080
lea edx, [esp + 0x594]
push 0x30b
push edx
push esi
call fcn.004109e0
mov eax, dword [esi + 0x208]
add esp, 0x30
cmp eax, edi
jne 0x423a46
mov ecx, 8
xor eax, eax
lea edi, [esp + 0x38]
lea edx, [esp + 0x79e4]
rep stosd dword es:[edi], eax
stosb byte es:[edi], al
lea eax, [esp + 0x570]
lea ecx, [esp + 0x2bc4]
push eax
push ecx
push str._s_s
push edx
call ebx
add esp, 0x10
lea eax, [esp + 0xc7c]
lea ecx, [esp + 0x5aa4]
push esi
push eax
push 0x438118
push ecx
call dword [sym.imp.MSVCRT.dll_swprintf]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x30]
add esp, 0x10
lea ecx, [esp + 0x38]
push edx
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [esi + 0x210]
push ecx
mov ecx, dword [esi + 0x20c]
push edx
push eax
lea edx, [esp + 0x584]
push ecx
lea eax, [esp + 0x2bdc]
push edx
push eax
lea ecx, [esp + 0x89c]
push str._s_t_s_t1_t_I64d_t_u_t_s_t_u_t_u_n
push ecx
call ebx
add esp, 0x28
mov esi, eax
xor edi, edi
jmp 0x423a87
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [esi + 0x210]
push eax
mov eax, dword [esi + 0x20c]
push ecx
push edx
lea ecx, [esp + 0x580]
push eax
lea edx, [esp + 0x2bd8]
push ecx
push edx
lea eax, [esp + 0x898]
push str._s_t_s_t0_t_I64d_t_u_t_t_u_t_u_n
push eax
call ebx
add esp, 0x24
mov esi, eax
lea ecx, [esp + 0x87c]
push esi
push ecx
call fcn.00411030
push ebp
push esi
lea edx, [esp + 0x88c]
push 1
push edx
call dword [sym.imp.MSVCRT.dll_fwrite]
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x2bd8]
add esp, 0x18
inc eax
add esi, 0x22c
cmp eax, ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], esi
jl 0x423938
push ebp
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 4
lea eax, [esp + 0x368]
lea ecx, [esp + 0x264]
push 1
push eax
push ecx
call fcn.00419150
mov ecx, eax
call fcn.0041b460
mov eax, dword [esp + 0x2bc0]
mov dword [esp + 0x14], edi
cmp eax, edi
jle 0x423c7d
xor esi, esi
mov dword [esp + 0x10], esi
mov edx, dword [esp + 0x2bbc]
push 7
add esi, edx
push str.windows
push esi
call dword [sym.imp.MSVCRT.dll__memicmp]
add esp, 0xc
test eax, eax
je 0x423c57
cmp dword [esi + 0x208], edi
je 0x423c57
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x160]
push 0x30b
rep stosd dword es:[edi], eax
lea eax, [esp + 0x574]
push eax
push esi
call fcn.004109e0
mov edx, dword [esp + 0x89a0]
add esp, 0xc
lea ecx, [esp + 0x570]
movsx eax, byte [edx]
push ecx
push eax
lea ecx, [esp + 0x64]
push str._c__s
push ecx
call ebx
add esp, 0x10
lea edx, [esp + 0x46c]
lea eax, [esp + 0x5c]
push edx
push eax
call fcn.00424930
mov ecx, eax
call fcn.00425c60
lea ecx, [esp + 0x46c]
lea edx, [esp + 0x160]
push ecx
push str._s_tmp
push edx
call ebx
add esp, 0xc
lea eax, [esp + 0xc7c]
lea ecx, [esp + 0x3b64]
push esi
push eax
push 0x438118
push ecx
call dword [sym.imp.MSVCRT.dll_swprintf]
lea edx, [esp + 0x170]
push 0x437afc
push edx
call dword [sym.imp.MSVCRT.dll_fopen]
mov esi, eax
lea eax, [esp + 0x3b7c]
push eax
push esi
call fcn.004240c0
add esp, 0x20
lea ecx, [esp + 0x87c]
push str._END_
push ecx
call ebx
mov edi, eax
lea edx, [esp + 0x884]
push edi
push edx
call fcn.00411030
push ebp
push edi
lea eax, [esp + 0x894]
push 1
push eax
call dword [sym.imp.MSVCRT.dll_fwrite]
push esi
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 0x24
lea ecx, [esp + 0x46c]
lea edx, [esp + 0x160]
push 1
push ecx
push edx
call fcn.00419150
mov ecx, eax
call fcn.0041b460
xor edi, edi
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x2bc0]
inc eax
add esi, 0x22c
cmp eax, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], esi
jl 0x423b11
mov eax, dword [esp + 0x2bbc]
cmp eax, edi
je 0x423c91
push eax
call sub.MFC42.DLL_operatordelete
add esp, 4
mov eax, 1
jmp 0x423cae
mov eax, dword [esp + 0x2bbc]
cmp eax, edi
je 0x423cac
push eax
call sub.MFC42.DLL_operatordelete
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x8984]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x8980
ret