Function at 0x51eb40
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x130
mov eax, dword [0x6d48e0]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 8]
mov ecx, 0x6ca258
push edi
push 0x77d
call fcn.0046ba10
test eax, eax
je 0x51eb81
cvttss2si ecx, dword [eax + 0x898]
mov dword [ebp - 0x24], ecx
cvttss2si eax, dword [eax + 0x89c]
mov dword [ebp - 0x20], eax
push 0x84d
mov ecx, 0x6ca258
call fcn.0046ba10
test eax, eax
je 0x51ebb5
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, 0x6ca258
call fcn.0046ba10
test eax, eax
je 0x51ebf2
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, 0x6ca258
call fcn.0046ba10
test eax, eax
je 0x51ec2f
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, 0x6ca258
call fcn.0046ba10
test eax, eax
je 0x51ec7e
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 0x51ec7e
or ecx, 2
mov dword [ebp - 0xdc], ecx
push 0x124
mov ecx, 0x6ca258
call fcn.0046ba10
test eax, eax
je 0x51ecd7
xor ecx, ecx
cmp dword [eax + 0x10], ecx
setne cl
mov dword [ebp - 0xcc], ecx
mov edx, dword [eax + 0x2bde0]
cmp edx, 1
jne 0x51ecaf
or ecx, 4
jmp 0x51ecc1
cmp edx, 2
jne 0x51ecb9
or ecx, 8
jmp 0x51ecc1
cmp edx, 4
jne 0x51ecc7
or ecx, 0x10
mov dword [ebp - 0xcc], ecx
mov ecx, eax
call fcn.004f6940
movzx eax, al
mov dword [ebp - 0xc8], eax
push 0x5d0
mov ecx, 0x6ca258
call fcn.0046ba10
test eax, eax
je 0x51ed14
cmp dword [eax + 0x10], 0
je 0x51ecfc
or dword [ebp - 0xcc], 0x100
jmp 0x51ed14
mov eax, dword [ebp - 0xcc]
test eax, 0x100
je 0x51ed14
xor eax, 0x100
mov dword [ebp - 0xcc], eax
push 0xf3
mov ecx, 0x6ca258
call fcn.0046ba10
test eax, eax
je 0x51ed76
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 0x51ed60
or ecx, 4
jmp 0x51ed70
cmp al, 2
jne 0x51ed69
or ecx, 8
jmp 0x51ed70
cmp al, 3
jne 0x51ed76
or ecx, 0x10
mov dword [ebp - 0xbc], ecx
push 0x61
mov ecx, 0x6ca258
call fcn.0046ba10
test eax, eax
je 0x51edb0
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, 0x6ca258
call fcn.0046ba10
mov edx, eax
test edx, edx
je 0x51ee40
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 0x51ee2e
mov eax, dword [0x6e8c1c]
or ecx, 4
mov dword [ebp - 0x9c], ecx
mov al, byte [eax + 0x957]
cmp al, 1
jne 0x51ee15
or ecx, 0x20
jmp 0x51ee28
cmp al, 2
jne 0x51ee1e
or ecx, 0x40
jmp 0x51ee28
cmp al, 3
jne 0x51ee2e
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, 0x6ca258
call fcn.0046ba10
test eax, eax
je 0x51eeb3
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 0x51ee8f
or ecx, 4
mov dword [ebp - 0x8c], ecx
cmp byte [eax + 0x957], 2
jne 0x51eea1
or ecx, 8
mov dword [ebp - 0x8c], ecx
cmp byte [eax + 0x957], 3
jne 0x51eeb3
or ecx, 0x10
mov dword [ebp - 0x8c], ecx
push 0x510
mov ecx, 0x6ca258
call fcn.0046ba10
test eax, eax
je 0x51eeea
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, 0x6ca258
call fcn.0046ba10
test eax, eax
je 0x51ef33
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 0x51ef2c
mov dword [ebp - 0x6c], 1
mov dword [0x704a80], 1
jmp 0x51ef33
mov dword [ebp - 0x6c], 0
push 0x214
mov ecx, 0x6ca258
call fcn.0046ba10
test eax, eax
je 0x51ef78
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 [0x6e8ce4], eax
setne al
mov dword [ebp - 0x5c], eax
xor eax, eax
cmp dword [0x6e8ce0], eax
setne al
mov dword [ebp - 0x58], eax
mov ecx, dword [0x7050e4]
test ecx, ecx
je 0x51efa0
cvttss2si eax, dword [ecx + 0x898]
mov dword [ebp - 0x54], eax
cvttss2si eax, dword [ecx + 0x89c]
mov dword [ebp - 0x50], eax
mov eax, dword [0x7050e0]
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 0x51f026
movzx ecx, byte [0x722040]
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 pe_nt_image_headers32
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.00598fe4
mov esp, ebp
pop ebp
ret 4