Function at 0x50e730
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x12c
mov ecx, 0x6d0af0
push 0x77d
call fcn.004637b0
test eax, eax
je 0x50e762
cvttss2si ecx, dword [eax + 0x898]
mov dword [ebp - 0x2c], ecx
cvttss2si eax, dword [eax + 0x89c]
mov dword [ebp - 0x28], eax
push 0x84d
mov ecx, 0x6d0af0
call fcn.004637b0
test eax, eax
je 0x50e796
cvttss2si ecx, dword [eax + 0x898]
mov dword [ebp - 0x1c], ecx
cvttss2si ecx, dword [eax + 0x89c]
mov dword [ebp - 0x18], ecx
xor ecx, ecx
cmp dword [eax + 0x24], ecx
setne cl
mov dword [ebp - 0x14], ecx
push 0x1db
mov ecx, 0x6d0af0
call fcn.004637b0
test eax, eax
je 0x50e7d3
cvttss2si ecx, dword [eax + 0x898]
mov dword [ebp - 0x12c], ecx
cvttss2si ecx, dword [eax + 0x89c]
mov dword [ebp - 0x128], ecx
xor ecx, ecx
cmp dword [eax + 0x10], ecx
setne cl
mov dword [ebp - 0x124], ecx
push 0x491
mov ecx, 0x6d0af0
call fcn.004637b0
test eax, eax
je 0x50e810
cvttss2si ecx, dword [eax + 0x898]
mov dword [ebp - 0x11c], ecx
cvttss2si ecx, dword [eax + 0x89c]
mov dword [ebp - 0x118], ecx
xor ecx, ecx
cmp dword [eax + 0x10], ecx
setne cl
mov dword [ebp - 0x114], ecx
push 0xed
mov ecx, 0x6d0af0
call fcn.004637b0
test eax, eax
je 0x50e85f
cvttss2si ecx, dword [eax + 0x898]
mov dword [ebp - 0xec], ecx
cvttss2si ecx, dword [eax + 0x89c]
mov dword [ebp - 0xe8], ecx
xor ecx, ecx
cmp dword [eax + 0x10], ecx
setne cl
mov dword [ebp - 0xe4], ecx
cmp dword [eax + 0x9fc], 0
je 0x50e85f
or ecx, 2
mov dword [ebp - 0xe4], ecx
push 0x124
mov ecx, 0x6d0af0
call fcn.004637b0
test eax, eax
je 0x50e8b8
xor ecx, ecx
cmp dword [eax + 0x10], ecx
setne cl
mov dword [ebp - 0xd4], ecx
mov edx, dword [eax + 0x2bde0]
cmp edx, 1
jne 0x50e890
or ecx, 4
jmp 0x50e8a2
cmp edx, 2
jne 0x50e89a
or ecx, 8
jmp 0x50e8a2
cmp edx, 4
jne 0x50e8a8
or ecx, 0x10
mov dword [ebp - 0xd4], ecx
mov ecx, eax
call fcn.004e7e00
movzx eax, al
mov dword [ebp - 0xd0], eax
push 0x5d0
mov ecx, 0x6d0af0
call fcn.004637b0
test eax, eax
je 0x50e8f5
cmp dword [eax + 0x10], 0
je 0x50e8dd
or dword [ebp - 0xd4], 0x100
jmp 0x50e8f5
mov eax, dword [ebp - 0xd4]
test eax, 0x100
je 0x50e8f5
xor eax, 0x100
mov dword [ebp - 0xd4], eax
push 0xf3
mov ecx, 0x6d0af0
call fcn.004637b0
test eax, eax
je 0x50e957
cvttss2si ecx, dword [eax + 0x898]
mov dword [ebp - 0xcc], ecx
cvttss2si ecx, dword [eax + 0x89c]
mov dword [ebp - 0xc8], ecx
xor ecx, ecx
cmp dword [eax + 0x10], ecx
setne cl
mov dword [ebp - 0xc4], ecx
mov al, byte [eax + 0x957]
cmp al, 1
jne 0x50e941
or ecx, 4
jmp 0x50e951
cmp al, 2
jne 0x50e94a
or ecx, 8
jmp 0x50e951
cmp al, 3
jne 0x50e957
or ecx, 0x10
mov dword [ebp - 0xc4], ecx
push 0x61
mov ecx, 0x6d0af0
call fcn.004637b0
test eax, eax
je 0x50e991
cvttss2si ecx, dword [eax + 0x898]
mov dword [ebp - 0xbc], ecx
cvttss2si ecx, dword [eax + 0x89c]
mov dword [ebp - 0xb8], ecx
xor ecx, ecx
cmp dword [eax + 0x10], ecx
setne cl
mov dword [ebp - 0xb4], ecx
push 0xc7
mov ecx, 0x6d0af0
call fcn.004637b0
mov edx, eax
test edx, edx
je 0x50ea21
cvttss2si ecx, dword [edx + 0x898]
mov dword [ebp - 0xac], ecx
cvttss2si ecx, dword [edx + 0x89c]
mov dword [ebp - 0xa8], ecx
xor ecx, ecx
cmp dword [edx + 0x10], ecx
setne cl
mov dword [ebp - 0xa4], ecx
cmp byte [edx + 0x957], 1
jne 0x50ea0f
mov eax, dword [0x6c1224]
or ecx, 4
mov dword [ebp - 0xa4], ecx
mov al, byte [eax + 0x957]
cmp al, 1
jne 0x50e9f6
or ecx, 0x20
jmp 0x50ea09
cmp al, 2
jne 0x50e9ff
or ecx, 0x40
jmp 0x50ea09
cmp al, 3
jne 0x50ea0f
or ecx, 0x80
mov dword [ebp - 0xa4], ecx
mov eax, dword [edx + 0x960]
mov eax, dword [eax + 0x9e4]
mov dword [ebp - 0xa0], eax
push 0x350
mov ecx, 0x6d0af0
call fcn.004637b0
test eax, eax
je 0x50ea94
cvttss2si ecx, dword [eax + 0x898]
mov dword [ebp - 0x9c], ecx
cvttss2si ecx, dword [eax + 0x89c]
mov dword [ebp - 0x98], ecx
xor ecx, ecx
cmp dword [eax + 0x10], ecx
setne cl
mov dword [ebp - 0x94], ecx
cmp byte [eax + 0x957], 1
jne 0x50ea70
or ecx, 4
mov dword [ebp - 0x94], ecx
cmp byte [eax + 0x957], 2
jne 0x50ea82
or ecx, 8
mov dword [ebp - 0x94], ecx
cmp byte [eax + 0x957], 3
jne 0x50ea94
or ecx, 0x10
mov dword [ebp - 0x94], ecx
push 0x510
mov ecx, 0x6d0af0
call fcn.004637b0
test eax, eax
je 0x50ead1
cvttss2si ecx, dword [eax + 0x898]
mov dword [ebp - 0x8c], ecx
cvttss2si ecx, dword [eax + 0x89c]
mov dword [ebp - 0x88], ecx
xor ecx, ecx
cmp dword [eax + 0x10], ecx
setne cl
mov dword [ebp - 0x84], ecx
push 0x4a8
mov ecx, 0x6d0af0
call fcn.004637b0
test eax, eax
je 0x50eb1a
cvttss2si ecx, dword [eax + 0x898]
mov dword [ebp - 0x7c], ecx
cvttss2si ecx, dword [eax + 0x89c]
mov dword [ebp - 0x78], ecx
cmp dword [eax + 0x10], 0
je 0x50eb13
mov dword [ebp - 0x74], 1
mov dword [0x6e59f8], 1
jmp 0x50eb1a
mov dword [ebp - 0x74], 0
push 0x214
mov ecx, 0x6d0af0
call fcn.004637b0
test eax, eax
je 0x50eb5f
cvttss2si ecx, dword [eax + 0x898]
mov dword [ebp - 0x6c], ecx
cvttss2si eax, dword [eax + 0x89c]
mov dword [ebp - 0x68], eax
xor eax, eax
cmp dword [0x6c12ec], eax
setne al
mov dword [ebp - 0x64], eax
xor eax, eax
cmp dword [0x6c12e8], eax
setne al
mov dword [ebp - 0x60], eax
mov ecx, dword [0x6e65dc]
test ecx, ecx
je 0x50eb87
cvttss2si eax, dword [ecx + 0x898]
mov dword [ebp - 0x5c], eax
cvttss2si eax, dword [ecx + 0x89c]
mov dword [ebp - 0x58], eax
mov eax, dword [0x6e65d8]
mov dword [ebp - 0x50], eax
push edi
push 0
push 0x80
push 2
push 0
push 0
push 0x40000000
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov edi, eax
cmp edi, 0xffffffff
je 0x50ebfd
movzx ecx, byte [0x703bb8]
lea eax, [ebp - 4]
push esi
mov esi, dword [sym.imp.KERNEL32.dll_WriteFile]
push 0
push eax
push 4
lea eax, [ebp - 8]
mov dword [ebp - 8], 0x6111101
push eax
push edi
mov dword [ebp - 0xc], ecx
call esi
push 0
lea eax, [ebp - 4]
push eax
push 4
lea eax, [ebp - 0xc]
push eax
push edi
call esi
push 0
lea eax, [ebp - 4]
push eax
push 0x120
lea eax, [ebp - 0x12c]
push eax
push edi
call esi
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop esi
pop edi
mov esp, ebp
pop ebp
ret 4