Function at 0x51db80
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x130
mov eax, dword [0x6d28d0]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 8]
mov ecx, 0x6c8250
push edi
push 0x77d
call fcn.0046aea0
test eax, eax
je 0x51dbc1
cvttss2si ecx, dword [eax + 0x898]
mov dword [ebp - 0x24], ecx
cvttss2si eax, dword [eax + 0x89c]
mov dword [ebp - 0x20], eax
push 0x84d
mov ecx, 0x6c8250
call fcn.0046aea0
test eax, eax
je 0x51dbf5
cvttss2si ecx, dword [eax + 0x898]
mov dword [ebp - 0x14], ecx
cvttss2si ecx, dword [eax + 0x89c]
mov dword [ebp - 0x10], ecx
xor ecx, ecx
cmp dword [eax + 0x24], ecx
setne cl
mov dword [ebp - 0xc], ecx
push 0x1db
mov ecx, 0x6c8250
call fcn.0046aea0
test eax, eax
je 0x51dc32
cvttss2si ecx, dword [eax + 0x898]
mov dword [ebp - 0x124], ecx
cvttss2si ecx, dword [eax + 0x89c]
mov dword [ebp - 0x120], ecx
xor ecx, ecx
cmp dword [eax + 0x10], ecx
setne cl
mov dword [ebp - 0x11c], ecx
push 0x491
mov ecx, 0x6c8250
call fcn.0046aea0
test eax, eax
je 0x51dc6f
cvttss2si ecx, dword [eax + 0x898]
mov dword [ebp - 0x114], ecx
cvttss2si ecx, dword [eax + 0x89c]
mov dword [ebp - 0x110], ecx
xor ecx, ecx
cmp dword [eax + 0x10], ecx
setne cl
mov dword [ebp - 0x10c], ecx
push 0xed
mov ecx, 0x6c8250
call fcn.0046aea0
test eax, eax
je 0x51dcbe
cvttss2si ecx, dword [eax + 0x898]
mov dword [ebp - 0xe4], ecx
cvttss2si ecx, dword [eax + 0x89c]
mov dword [ebp - 0xe0], ecx
xor ecx, ecx
cmp dword [eax + 0x10], ecx
setne cl
mov dword [ebp - 0xdc], ecx
cmp dword [eax + 0x9fc], 0
je 0x51dcbe
or ecx, 2
mov dword [ebp - 0xdc], ecx
push 0x124
mov ecx, 0x6c8250
call fcn.0046aea0
test eax, eax
je 0x51dd17
xor ecx, ecx
cmp dword [eax + 0x10], ecx
setne cl
mov dword [ebp - 0xcc], ecx
mov edx, dword [eax + 0x2bde0]
cmp edx, 1
jne 0x51dcef
or ecx, 4
jmp 0x51dd01
cmp edx, 2
jne 0x51dcf9
or ecx, 8
jmp 0x51dd01
cmp edx, 4
jne 0x51dd07
or ecx, 0x10
mov dword [ebp - 0xcc], ecx
mov ecx, eax
call fcn.004f5830
movzx eax, al
mov dword [ebp - 0xc8], eax
push 0x5d0
mov ecx, 0x6c8250
call fcn.0046aea0
test eax, eax
je 0x51dd54
cmp dword [eax + 0x10], 0
je 0x51dd3c
or dword [ebp - 0xcc], 0x100
jmp 0x51dd54
mov eax, dword [ebp - 0xcc]
test eax, 0x100
je 0x51dd54
xor eax, 0x100
mov dword [ebp - 0xcc], eax
push 0xf3
mov ecx, 0x6c8250
call fcn.0046aea0
test eax, eax
je 0x51ddb6
cvttss2si ecx, dword [eax + 0x898]
mov dword [ebp - 0xc4], ecx
cvttss2si ecx, dword [eax + 0x89c]
mov dword [ebp - 0xc0], ecx
xor ecx, ecx
cmp dword [eax + 0x10], ecx
setne cl
mov dword [ebp - 0xbc], ecx
mov al, byte [eax + 0x957]
cmp al, 1
jne 0x51dda0
or ecx, 4
jmp 0x51ddb0
cmp al, 2
jne 0x51dda9
or ecx, 8
jmp 0x51ddb0
cmp al, 3
jne 0x51ddb6
or ecx, 0x10
mov dword [ebp - 0xbc], ecx
push 0x61
mov ecx, 0x6c8250
call fcn.0046aea0
test eax, eax
je 0x51ddf0
cvttss2si ecx, dword [eax + 0x898]
mov dword [ebp - 0xb4], ecx
cvttss2si ecx, dword [eax + 0x89c]
mov dword [ebp - 0xb0], ecx
xor ecx, ecx
cmp dword [eax + 0x10], ecx
setne cl
mov dword [ebp - 0xac], ecx
push 0xc7
mov ecx, 0x6c8250
call fcn.0046aea0
mov edx, eax
test edx, edx
je 0x51de80
cvttss2si ecx, dword [edx + 0x898]
mov dword [ebp - 0xa4], ecx
cvttss2si ecx, dword [edx + 0x89c]
mov dword [ebp - 0xa0], ecx
xor ecx, ecx
cmp dword [edx + 0x10], ecx
setne cl
mov dword [ebp - 0x9c], ecx
cmp byte [edx + 0x957], 1
jne 0x51de6e
mov eax, dword [0x6e6c14]
or ecx, 4
mov dword [ebp - 0x9c], ecx
mov al, byte [eax + 0x957]
cmp al, 1
jne 0x51de55
or ecx, 0x20
jmp 0x51de68
cmp al, 2
jne 0x51de5e
or ecx, 0x40
jmp 0x51de68
cmp al, 3
jne 0x51de6e
or ecx, 0x80
mov dword [ebp - 0x9c], ecx
mov eax, dword [edx + 0x960]
mov eax, dword [eax + 0x9e4]
mov dword [ebp - 0x98], eax
push 0x350
mov ecx, 0x6c8250
call fcn.0046aea0
test eax, eax
je 0x51def3
cvttss2si ecx, dword [eax + 0x898]
mov dword [ebp - 0x94], ecx
cvttss2si ecx, dword [eax + 0x89c]
mov dword [ebp - 0x90], ecx
xor ecx, ecx
cmp dword [eax + 0x10], ecx
setne cl
mov dword [ebp - 0x8c], ecx
cmp byte [eax + 0x957], 1
jne 0x51decf
or ecx, 4
mov dword [ebp - 0x8c], ecx
cmp byte [eax + 0x957], 2
jne 0x51dee1
or ecx, 8
mov dword [ebp - 0x8c], ecx
cmp byte [eax + 0x957], 3
jne 0x51def3
or ecx, 0x10
mov dword [ebp - 0x8c], ecx
push 0x510
mov ecx, 0x6c8250
call fcn.0046aea0
test eax, eax
je 0x51df2a
cvttss2si ecx, dword [eax + 0x898]
mov dword [ebp - 0x84], ecx
cvttss2si ecx, dword [eax + 0x89c]
mov dword [ebp - 0x80], ecx
xor ecx, ecx
cmp dword [eax + 0x10], ecx
setne cl
mov dword [ebp - 0x7c], ecx
push 0x4a8
mov ecx, 0x6c8250
call fcn.0046aea0
test eax, eax
je 0x51df73
cvttss2si ecx, dword [eax + 0x898]
mov dword [ebp - 0x74], ecx
cvttss2si ecx, dword [eax + 0x89c]
mov dword [ebp - 0x70], ecx
cmp dword [eax + 0x10], 0
je 0x51df6c
mov dword [ebp - 0x6c], 1
mov dword [0x702a68], 1
jmp 0x51df73
mov dword [ebp - 0x6c], 0
push 0x214
mov ecx, 0x6c8250
call fcn.0046aea0
test eax, eax
je 0x51dfb8
cvttss2si ecx, dword [eax + 0x898]
mov dword [ebp - 0x64], ecx
cvttss2si eax, dword [eax + 0x89c]
mov dword [ebp - 0x60], eax
xor eax, eax
cmp dword [0x6e6cdc], eax
setne al
mov dword [ebp - 0x5c], eax
xor eax, eax
cmp dword [0x6e6cd8], eax
setne al
mov dword [ebp - 0x58], eax
mov ecx, dword [0x7030bc]
test ecx, ecx
je 0x51dfe0
cvttss2si eax, dword [ecx + 0x898]
mov dword [ebp - 0x54], eax
cvttss2si eax, dword [ecx + 0x89c]
mov dword [ebp - 0x50], eax
mov eax, dword [0x7030b8]
mov dword [ebp - 0x48], eax
push 0
push 0x80
push 2
push 0
push 0
push 0x40000000
push esi
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov edi, eax
cmp edi, 0xffffffff
je 0x51e066
movzx ecx, byte [0x720018]
lea eax, [ebp - 0x128]
mov esi, dword [sym.imp.KERNEL32.dll_WriteFile]
push 0
push eax
push 4
lea eax, [ebp - 0x12c]
mov dword [ebp - 0x12c], 0x6111101
push eax
push edi
mov dword [ebp - 0x130], ecx
call esi
push 0
lea eax, [ebp - 0x128]
push eax
push 4
lea eax, [ebp - 0x130]
push eax
push edi
call esi
push 0
lea eax, [ebp - 0x128]
push eax
push 0x120
lea eax, [ebp - 0x124]
push eax
push edi
call esi
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.00597574
mov esp, ebp
pop ebp
ret 4