Function at 0x57be40
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xec
mov eax, dword [0x695e80]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, ecx
mov ecx, 0x5f08b0
push 0x217
call fcn.004c13f0
test eax, eax
je 0x57be98
cvttss2si ecx, dword [eax + 0x904]
mov dword [ebp - 0xe4], ecx
cvttss2si ecx, dword [eax + 0x908]
mov dword [ebp - 0xe0], ecx
xor ecx, ecx
cmp dword [eax + 0xe], ecx
setne cl
mov dword [ebp - 0xdc], ecx
push 0x6e4
mov ecx, 0x5f08b0
call fcn.004c13f0
test eax, eax
je 0x57bed5
cvttss2si ecx, dword [eax + 0x904]
mov dword [ebp - 0xd4], ecx
cvttss2si ecx, dword [eax + 0x908]
mov dword [ebp - 0xd0], ecx
xor ecx, ecx
cmp dword [eax + 0xe], ecx
setne cl
mov dword [ebp - 0xcc], ecx
push 0x6da
mov ecx, 0x5f08b0
call fcn.004c13f0
mov esi, eax
test esi, esi
je 0x57bf24
cvttss2si ecx, dword [esi + 0x904]
mov dword [ebp - 0xc4], ecx
cvttss2si ecx, dword [esi + 0x908]
mov dword [ebp - 0xc0], ecx
mov ecx, esi
call fcn.005050b0
test eax, eax
je 0x57bf1b
xor eax, eax
cmp dword [esi + 0xe], eax
setne al
jmp 0x57bf1e
mov eax, dword [edi + 0x1e]
mov dword [ebp - 0xbc], eax
push 0x20f
mov ecx, 0x5f08b0
call fcn.004c13f0
test eax, eax
je 0x57bf8a
cvttss2si ecx, dword [eax + 0x904]
mov dword [ebp - 0xb4], ecx
cvttss2si ecx, dword [eax + 0x908]
mov dword [ebp - 0xb0], ecx
xor ecx, ecx
cmp dword [eax + 0xe], ecx
setne cl
mov dword [ebp - 0xac], ecx
movzx eax, word [eax + 0x968]
cmp eax, 1
jne 0x57bf72
or ecx, 4
jmp 0x57bf84
cmp eax, 2
jne 0x57bf7c
or ecx, 8
jmp 0x57bf84
cmp eax, 3
jne 0x57bf8a
or ecx, 0x10
mov dword [ebp - 0xac], ecx
push 0xdd
mov ecx, 0x5f08b0
call fcn.004c13f0
test eax, eax
je 0x57bfd9
cvttss2si ecx, dword [eax + 0x904]
mov dword [ebp - 0xa4], ecx
cvttss2si ecx, dword [eax + 0x908]
mov dword [ebp - 0xa0], ecx
xor ecx, ecx
cmp dword [eax + 0xe], ecx
setne cl
mov dword [ebp - 0x9c], ecx
cmp dword [eax + 0xafe], 0
je 0x57bfd9
or ecx, 2
mov dword [ebp - 0x9c], ecx
push 0x136
mov ecx, 0x5f08b0
call fcn.004c13f0
test eax, eax
je 0x57c04e
cvttss2si ecx, dword [eax + 0x904]
mov dword [ebp - 0x94], ecx
cvttss2si ecx, dword [eax + 0x908]
mov dword [ebp - 0x90], ecx
xor ecx, ecx
cmp dword [eax + 0xe], ecx
setne cl
mov dword [ebp - 0x8c], ecx
mov edx, dword [eax + 0x23448]
cmp edx, 1
jne 0x57c026
or ecx, 4
jmp 0x57c038
cmp edx, 2
jne 0x57c030
or ecx, 8
jmp 0x57c038
cmp edx, 4
jne 0x57c03e
or ecx, 0x10
mov dword [ebp - 0x8c], ecx
mov ecx, eax
call fcn.00448420
movzx eax, al
mov dword [ebp - 0x88], eax
push 0x857
mov ecx, 0x5f08b0
call fcn.004c13f0
test eax, eax
je 0x57c08b
cmp dword [eax + 0xe], 0
je 0x57c073
or dword [ebp - 0x8c], 0x100
jmp 0x57c08b
mov eax, dword [ebp - 0x8c]
test eax, 0x100
je 0x57c08b
xor eax, 0x100
mov dword [ebp - 0x8c], eax
push 0xe3
mov ecx, 0x5f08b0
call fcn.004c13f0
test eax, eax
je 0x57c0e4
cvttss2si ecx, dword [eax + 0x904]
mov dword [ebp - 0x84], ecx
cvttss2si ecx, dword [eax + 0x908]
mov dword [ebp - 0x80], ecx
xor ecx, ecx
cmp dword [eax + 0xe], ecx
setne cl
mov dword [ebp - 0x7c], ecx
mov al, byte [eax + 0x95b]
cmp al, 1
jne 0x57c0d1
or ecx, 4
jmp 0x57c0e1
cmp al, 2
jne 0x57c0da
or ecx, 8
jmp 0x57c0e1
cmp al, 3
jne 0x57c0e4
or ecx, 0x10
mov dword [ebp - 0x7c], ecx
push 0x5f
mov ecx, 0x5f08b0
call fcn.004c13f0
test eax, eax
je 0x57c115
cvttss2si ecx, dword [eax + 0x904]
mov dword [ebp - 0x74], ecx
cvttss2si ecx, dword [eax + 0x908]
mov dword [ebp - 0x70], ecx
xor ecx, ecx
cmp dword [eax + 0xe], ecx
setne cl
mov dword [ebp - 0x6c], ecx
push 0xb7
mov ecx, 0x5f08b0
call fcn.004c13f0
mov edx, eax
test edx, edx
je 0x57c193
cvttss2si ecx, dword [edx + 0x904]
mov dword [ebp - 0x64], ecx
cvttss2si ecx, dword [edx + 0x908]
mov dword [ebp - 0x60], ecx
xor ecx, ecx
cmp dword [edx + 0xe], ecx
setne cl
mov dword [ebp - 0x5c], ecx
cmp byte [edx + 0x95b], 1
jne 0x57c184
mov eax, dword [0x6c4a5c]
or ecx, 4
mov dword [ebp - 0x5c], ecx
mov al, byte [eax + 0x95b]
cmp al, 1
jne 0x57c16e
or ecx, 0x20
jmp 0x57c181
cmp al, 2
jne 0x57c177
or ecx, 0x40
jmp 0x57c181
cmp al, 3
jne 0x57c184
or ecx, 0x80
mov dword [ebp - 0x5c], ecx
mov eax, dword [edx + 0x964]
mov eax, dword [eax + 0x9e6]
mov dword [ebp - 0x58], eax
push 0x58b
mov ecx, 0x5f08b0
call fcn.004c13f0
test eax, eax
je 0x57c1f4
cvttss2si ecx, dword [eax + 0x904]
mov dword [ebp - 0x54], ecx
cvttss2si ecx, dword [eax + 0x908]
mov dword [ebp - 0x50], ecx
xor ecx, ecx
cmp dword [eax + 0xe], ecx
setne cl
mov dword [ebp - 0x4c], ecx
cmp byte [eax + 0x95b], 1
jne 0x57c1d6
or ecx, 4
mov dword [ebp - 0x4c], ecx
cmp byte [eax + 0x95b], 2
jne 0x57c1e5
or ecx, 8
mov dword [ebp - 0x4c], ecx
cmp byte [eax + 0x95b], 3
jne 0x57c1f4
or ecx, 0x10
mov dword [ebp - 0x4c], ecx
push 0x782
mov ecx, 0x5f08b0
call fcn.004c13f0
test eax, eax
je 0x57c228
cvttss2si ecx, dword [eax + 0x904]
mov dword [ebp - 0x44], ecx
cvttss2si ecx, dword [eax + 0x908]
mov dword [ebp - 0x40], ecx
xor ecx, ecx
cmp dword [eax + 0xe], ecx
setne cl
mov dword [ebp - 0x3c], ecx
push 0x714
mov ecx, 0x5f08b0
call fcn.004c13f0
test eax, eax
je 0x57c271
cvttss2si ecx, dword [eax + 0x904]
mov dword [ebp - 0x34], ecx
cvttss2si ecx, dword [eax + 0x908]
mov dword [ebp - 0x30], ecx
cmp dword [eax + 0xe], 0
je 0x57c26a
mov dword [ebp - 0x2c], 1
mov dword [0x6c5ef8], 1
jmp 0x57c271
mov dword [ebp - 0x2c], 0
push 0x248
mov ecx, 0x5f08b0
call fcn.004c13f0
test eax, eax
je 0x57c2b6
cvttss2si ecx, dword [eax + 0x904]
mov dword [ebp - 0x24], ecx
cvttss2si eax, dword [eax + 0x908]
mov dword [ebp - 0x20], eax
xor eax, eax
cmp dword [0x6c4b24], eax
setne al
mov dword [ebp - 0x1c], eax
xor eax, eax
cmp dword [0x6c4b20], eax
setne al
mov dword [ebp - 0x18], eax
mov ecx, dword [0x6caee4]
test ecx, ecx
je 0x57c2de
cvttss2si eax, dword [ecx + 0x904]
mov dword [ebp - 0x14], eax
cvttss2si eax, dword [ecx + 0x908]
mov dword [ebp - 0x10], eax
mov eax, dword [0x6caee0]
mov dword [ebp - 8], eax
push 0
push 0x80
push 2
push 0
push 0
push 0x40000000
push ebx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov edi, eax
cmp edi, 0xffffffff
je 0x57c342
mov esi, dword [sym.imp.KERNEL32.dll_WriteFile]
lea eax, [ebp - 0xe8]
push 0
push eax
push 4
lea eax, [ebp - 0xec]
mov dword [ebp - 0xec], 0x6111101
push eax
push edi
call esi
push 0
lea eax, [ebp - 0xe8]
push eax
push 0xe0
lea eax, [ebp - 0xe4]
push eax
push edi
call esi
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00585d34
mov esp, ebp
pop ebp
ret 4