Function at 0x433e61
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58
mov eax, dword [0x498d74]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [edi]
push ebx
mov ebx, dword [eax + 0x8558]
push esi
push 0x5c
push dword [ebx]
call fcn.00449b80
mov esi, dword [edi]
and dword [ebp - 0x48], 0
and dword [ebp - 0x44], 0
pop ecx
pop ecx
mov dword [ebp - 0x40], eax
call fcn.0043e13e
mov ecx, dword [edi]
mov dword [ebp - 0x54], eax
mov eax, dword [esi + 0x138]
mov dword [edi + 0x194], eax
mov eax, dword [esi + 0xf4]
mov dword [edi + 0x198], eax
lea eax, [esi + 0x464]
mov dword [ecx + 0xd4], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x50], edx
test eax, eax
jne 0x433ed3
push 0x25
pop eax
jmp 0x43409f
cmp byte [eax + 1], 0
je 0x433ecb
mov eax, dword [esi + 0x8550]
or eax, dword [esi + 0x8554]
je 0x433eee
push 0x4830a8
jmp 0x433f2a
mov eax, dword [edi]
push dword [eax + 0x294]
push 0x8301
push dword [ebx]
call fcn.004562a3
add esp, 0xc
test eax, eax
jns 0x433f1d
push dword [ebx]
push str.Cant_open__s_for_writing
push esi
call fcn.00430598
add esp, 0xc
push 0x17
jmp 0x433ecd
push eax
call fcn.00453ae7
mov dword [esp], 0x483088
push dword [ebx]
call fcn.00447e10
pop ecx
mov dword [ebp - 0x40], eax
pop ecx
test eax, eax
je 0x433f09
mov eax, dword [esi + 0x180]
mov ecx, dword [esi + 0x184]
cmp eax, 0xffffffff
jne 0x433f4f
cmp ecx, eax
je 0x433f5a
push ecx
push eax
push esi
call fcn.0043e609
add esp, 0xc
cmp dword [esi + 0x8554], 0
jg 0x433fb6
jl 0x433f6e
cmp dword [esi + 0x8550], 0
jae 0x433fb6
lea eax, [ebp - 0x3c]
push eax
push dword [ebp - 0x40]
call fcn.00456d99
pop ecx
push eax
call fcn.0044bbba
pop ecx
pop ecx
test eax, eax
je 0x433fa4
push dword [ebp - 0x40]
call fcn.00447ce0
push dword [ebx]
push str.Cant_get_the_size_of__s
push esi
call fcn.00430598
add esp, 0x10
jmp 0x433f19
mov eax, dword [ebp - 0x24]
mov dword [esi + 0x8550], eax
mov eax, dword [ebp - 0x20]
mov dword [esi + 0x8554], eax
lea eax, [ebp - 0x58]
push eax
push 0x4000
push edi
call fcn.0042cdc3
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x434094
mov edx, dword [ebp - 0x58]
test edx, edx
jle 0x434086
mov ecx, dword [esi + 0x8550]
mov eax, dword [esi + 0x8554]
mov ebx, ecx
or ebx, eax
je 0x43402c
xor ebx, ebx
cmp ebx, eax
jg 0x43400f
jl 0x433ffb
cmp edx, ecx
ja 0x43400f
sub ecx, edx
sbb eax, ebx
mov dword [esi + 0x8550], ecx
mov dword [esi + 0x8554], eax
xor ebx, ebx
jmp 0x43402e
and dword [esi + 0x8550], 0
mov eax, ecx
sub edx, eax
and dword [esi + 0x8554], 0
lea ecx, [eax + esi + 0x464]
mov ebx, edx
jmp 0x434034
mov ebx, edx
lea ecx, [esi + 0x464]
push dword [ebp - 0x40]
push ebx
push 1
push ecx
call fcn.00447a48
add esp, 0x10
cmp eax, ebx
jne 0x434082
add dword [ebp - 0x48], ebx
adc dword [ebp - 0x44], 0
push dword [ebp - 0x44]
push dword [ebp - 0x48]
push esi
call fcn.0043e5bb
push edi
call fcn.0043e63d
add esp, 0x10
test eax, eax
jne 0x434091
push dword [ebp - 0x50]
push dword [ebp - 0x54]
push esi
call fcn.0043f233
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x433fb6
jmp 0x434094
push 0x37
jmp 0x434093
push edi
call fcn.0043e63d
pop ecx
test eax, eax
je 0x434094
push 0x2a
pop ebx
push dword [ebp - 0x40]
call fcn.00447ce0
pop ecx
mov eax, ebx
mov ecx, dword [ebp - 4]
pop esi
xor ecx, ebp
pop ebx
call fcn.0044249e
leave
ret