Function at 0x5113d0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x12c
mov ecx, 0x6d3af8
push 0x77d
call fcn.004666e0
test eax, eax
je 0x511402
cvttss2si ecx, dword [eax + 0x898]
mov dword [ebp - 0x2c], ecx
cvttss2si eax, dword [eax + 0x89c]
mov dword [ebp - 0x28], eax
push 0x84d
mov ecx, 0x6d3af8
call fcn.004666e0
test eax, eax
je 0x511436
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, 0x6d3af8
call fcn.004666e0
test eax, eax
je 0x511473
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, 0x6d3af8
call fcn.004666e0
test eax, eax
je 0x5114b0
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, 0x6d3af8
call fcn.004666e0
test eax, eax
je 0x5114ff
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 0x5114ff
or ecx, 2
mov dword [ebp - 0xe4], ecx
push 0x124
mov ecx, 0x6d3af8
call fcn.004666e0
test eax, eax
je 0x511558
xor ecx, ecx
cmp dword [eax + 0x10], ecx
setne cl
mov dword [ebp - 0xd4], ecx
mov edx, dword [eax + 0x2bde0]
cmp edx, 1
jne 0x511530
or ecx, 4
jmp 0x511542
cmp edx, 2
jne 0x51153a
or ecx, 8
jmp 0x511542
cmp edx, 4
jne 0x511548
or ecx, 0x10
mov dword [ebp - 0xd4], ecx
mov ecx, eax
call fcn.004ea830
movzx eax, al
mov dword [ebp - 0xd0], eax
push 0x5d0
mov ecx, 0x6d3af8
call fcn.004666e0
test eax, eax
je 0x511595
cmp dword [eax + 0x10], 0
je 0x51157d
or dword [ebp - 0xd4], 0x100
jmp 0x511595
mov eax, dword [ebp - 0xd4]
test eax, 0x100
je 0x511595
xor eax, 0x100
mov dword [ebp - 0xd4], eax
push 0xf3
mov ecx, 0x6d3af8
call fcn.004666e0
test eax, eax
je 0x5115f7
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 0x5115e1
or ecx, 4
jmp 0x5115f1
cmp al, 2
jne 0x5115ea
or ecx, 8
jmp 0x5115f1
cmp al, 3
jne 0x5115f7
or ecx, 0x10
mov dword [ebp - 0xc4], ecx
push 0x61
mov ecx, 0x6d3af8
call fcn.004666e0
test eax, eax
je 0x511631
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, 0x6d3af8
call fcn.004666e0
mov edx, eax
test edx, edx
je 0x5116c1
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 0x5116af
mov eax, dword [0x6c422c]
or ecx, 4
mov dword [ebp - 0xa4], ecx
mov al, byte [eax + 0x957]
cmp al, 1
jne 0x511696
or ecx, 0x20
jmp 0x5116a9
cmp al, 2
jne 0x51169f
or ecx, 0x40
jmp 0x5116a9
cmp al, 3
jne 0x5116af
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, 0x6d3af8
call fcn.004666e0
test eax, eax
je 0x511734
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 0x511710
or ecx, 4
mov dword [ebp - 0x94], ecx
cmp byte [eax + 0x957], 2
jne 0x511722
or ecx, 8
mov dword [ebp - 0x94], ecx
cmp byte [eax + 0x957], 3
jne 0x511734
or ecx, 0x10
mov dword [ebp - 0x94], ecx
push 0x510
mov ecx, 0x6d3af8
call fcn.004666e0
test eax, eax
je 0x511771
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, 0x6d3af8
call fcn.004666e0
test eax, eax
je 0x5117ba
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 0x5117b3
mov dword [ebp - 0x74], 1
mov dword [0x6e8a00], 1
jmp 0x5117ba
mov dword [ebp - 0x74], 0
push 0x214
mov ecx, 0x6d3af8
call fcn.004666e0
test eax, eax
je 0x5117ff
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 [0x6c42f4], eax
setne al
mov dword [ebp - 0x64], eax
xor eax, eax
cmp dword [0x6c42f0], eax
setne al
mov dword [ebp - 0x60], eax
mov ecx, dword [0x6e95e4]
test ecx, ecx
je 0x511827
cvttss2si eax, dword [ecx + 0x898]
mov dword [ebp - 0x5c], eax
cvttss2si eax, dword [ecx + 0x89c]
mov dword [ebp - 0x58], eax
mov eax, dword [0x6e95e0]
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 0x51189d
movzx ecx, byte [0x706bc0]
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