Function at 0x41f2c7
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x54
mov eax, dword [edi]
push ebx
mov ebx, dword [eax + 0x864c]
push esi
push 0x5c
push dword [ebx]
call dword [sym.imp.MSVCR80.dll_strchr]
mov esi, dword [edi]
and dword [ebp - 0x14], 0
and dword [ebp - 0x10], 0
pop ecx
pop ecx
mov dword [ebp - 4], eax
call fcn.00415f6c
mov ecx, dword [edi]
mov dword [ebp - 0x1c], eax
mov eax, dword [esi + 0x154]
mov dword [edi + 0x270], eax
mov eax, dword [esi + 0x104]
mov dword [edi + 0x274], eax
lea eax, [esi + 0x52c]
mov dword [ecx + 0xdc], eax
mov eax, dword [ebp - 4]
test eax, eax
mov dword [ebp - 0x18], edx
jne 0x41f330
push 0x25
pop eax
jmp 0x41f507
cmp byte [eax + 1], 0
je 0x41f328
mov eax, dword [esi + 0x8638]
or eax, dword [esi + 0x863c]
je 0x41f34b
push 0x439404
jmp 0x41f389
mov eax, dword [edi]
push dword [eax + 0x324]
push 0x8301
push dword [ebx]
call dword [sym.imp.MSVCR80.dll__open]
add esp, 0xc
test eax, eax
jge 0x41f37b
push dword [ebx]
push str.Cant_open__s_for_writing
push esi
call fcn.004144d7
add esp, 0xc
push 0x17
jmp 0x41f32a
push eax
call dword [sym.imp.MSVCR80.dll__close]
mov dword [esp], 0x4393e4
push dword [ebx]
call dword [sym.imp.MSVCR80.dll_fopen]
test eax, eax
pop ecx
mov dword [ebp - 4], eax
pop ecx
je 0x41f367
mov eax, dword [esi + 0x1a8]
cmp eax, 0xffffffff
mov ecx, dword [esi + 0x1ac]
jne 0x41f3af
cmp ecx, eax
je 0x41f3ba
push ecx
push eax
push esi
call fcn.00416425
add esp, 0xc
cmp dword [esi + 0x863c], 0
jg 0x41f419
jl 0x41f3ce
cmp dword [esi + 0x8638], 0
jae 0x41f419
lea eax, [ebp - 0x54]
push eax
push dword [ebp - 4]
call dword [sym.imp.MSVCR80.dll__fileno]
pop ecx
push eax
call dword [sym.imp.MSVCR80.dll__fstat64]
test eax, eax
pop ecx
pop ecx
je 0x41f407
push dword [ebp - 4]
call dword [sym.imp.MSVCR80.dll_fclose]
push dword [ebx]
push str.Cant_get_the_size_of__s
push esi
call fcn.004144d7
add esp, 0x10
jmp 0x41f377
mov eax, dword [ebp - 0x3c]
mov dword [esi + 0x8638], eax
mov eax, dword [ebp - 0x38]
mov dword [esi + 0x863c], eax
lea eax, [ebp - 8]
push eax
push 0x4000
push edi
call fcn.0041122f
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x41f4fb
mov edx, dword [ebp - 8]
test edx, edx
jle 0x41f4e9
mov ecx, dword [esi + 0x8638]
mov eax, dword [esi + 0x863c]
mov ebx, ecx
or ebx, eax
je 0x41f48f
xor ebx, ebx
cmp ebx, eax
jg 0x41f472
jl 0x41f45e
cmp edx, ecx
ja 0x41f472
sub ecx, edx
sbb eax, ebx
mov dword [esi + 0x8638], ecx
mov dword [esi + 0x863c], eax
xor ebx, ebx
jmp 0x41f491
and dword [esi + 0x8638], 0
mov eax, ecx
sub edx, eax
and dword [esi + 0x863c], 0
lea ecx, [eax + esi + 0x52c]
mov ebx, edx
jmp 0x41f497
mov ebx, edx
lea ecx, [esi + 0x52c]
push dword [ebp - 4]
push ebx
push 1
push ecx
call dword [sym.imp.MSVCR80.dll_fwrite]
add esp, 0x10
cmp eax, ebx
jne 0x41f4e6
add dword [ebp - 0x14], ebx
adc dword [ebp - 0x10], 0
push dword [ebp - 0x10]
push dword [ebp - 0x14]
push esi
call fcn.004163da
push edi
call fcn.00416457
add esp, 0x10
test eax, eax
jne 0x41f4f8
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push esi
call fcn.00426499
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x41f419
jmp 0x41f4fb
push 0x37
pop ebx
test ebx, ebx
jne 0x41f4fb
push edi
call fcn.00416457
test eax, eax
pop ecx
je 0x41f4fb
push 0x2a
pop ebx
push dword [ebp - 4]
call dword [sym.imp.MSVCR80.dll_fclose]
pop ecx
mov eax, ebx
pop esi
pop ebx
leave
ret