Function at 0x53e280
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x34
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, ecx
mov dword [esp + 0x28], edx
mov edx, 1
mov dword [esp + 0x24], edx
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 8]
sub ecx, dword [eax]
sub ecx, 8
sar ecx, 3
sub ecx, esi
je 0x53e4e6
mov ebx, dword [edi + 0x10]
dec ecx
mov dword [esp + 0x2c], ecx
test esi, esi
jle 0x53e2e7
mov eax, dword [ebx]
lea eax, [eax + esi*8]
cmp eax, dword [edi + 8]
jb 0x53e327
test esi, esi
jle 0x53e3df
mov eax, dword [ebx]
mov ecx, 0x5b8310
lea eax, [eax + esi*8]
cmp eax, dword [edi + 8]
cmovb ecx, eax
jmp 0x53e420
cmp esi, 0xfff0b9d8
jle 0x53e2f7
mov eax, dword [edi + 8]
lea eax, [eax + esi*8]
jmp 0x53e327
jne 0x53e301
mov eax, dword [edi + 0xc]
add eax, 0x28
jmp 0x53e327
mov eax, dword [ebx]
mov ecx, 0xfff0b9d8
sub ecx, esi
cmp dword [eax + 4], 0x7ff7a516
je 0x53e2ca
mov edx, dword [eax]
movzx eax, byte [edx + 6]
cmp ecx, eax
jg 0x53e2ca
lea eax, [edx + 8]
mov edx, dword [esp + 0x24]
lea eax, [eax + ecx*8]
cmp eax, 0x5b8310
je 0x53e2ca
mov ecx, dword [eax + 4]
mov eax, ecx
and eax, 0x7fffff00
cmp eax, 0x7ff7a500
mov eax, 3
jne 0x53e347
movzx eax, cl
and eax, 0xf
cmp eax, 3
jne 0x53e2ca
test edx, edx
je 0x53e489
mov edx, esi
mov ecx, edi
call fcn.00524190
mov edx, dword [eax + 4]
mov ecx, edx
and ecx, 0x7fffff00
cmp ecx, 0x7ff7a500
jne 0x53e3ab
or edx, 0x70
cmp edx, 0x7ff7a574
jne 0x53e3da
mov edx, dword [eax]
lea eax, [esp + 0x30]
push eax
lea ecx, [edx + 0x10]
mov edx, dword [edx + 0xc]
call fcn.00531780
add esp, 4
test eax, eax
je 0x53e3da
movsd xmm0, qword [esp + 0x30]
lea eax, [esp + 0x38]
movsd qword [esp + 0x38], xmm0
movsd xmm0, qword [eax]
sub esp, 8
movsd qword [esp], xmm0
push str._.14g
push dword [esp + 0x34]
call fcn.0055831d
add esp, 0x10
test eax, eax
jle 0x53e489
mov edx, 1
jmp 0x53e48b
xorps xmm0, xmm0
jmp 0x53e3af
cmp esi, 0xfff0b9d8
jle 0x53e3ef
mov eax, dword [edi + 8]
lea ecx, [eax + esi*8]
jmp 0x53e420
jne 0x53e3f9
mov ecx, dword [edi + 0xc]
add ecx, 0x28
jmp 0x53e420
mov eax, dword [ebx]
mov ecx, 0xfff0b9d8
sub ecx, esi
cmp dword [eax + 4], 0x7ff7a516
je 0x53e41b
mov edx, dword [eax]
movzx eax, byte [edx + 6]
cmp ecx, eax
jg 0x53e41b
inc ecx
lea ecx, [edx + ecx*8]
jmp 0x53e420
mov ecx, 0x5b8310
mov eax, dword [ecx + 4]
or eax, 0x70
cmp eax, 0x7ff7a574
je 0x53e459
mov edx, ecx
mov ecx, edi
call fcn.0052c680
test eax, eax
je 0x53e4f2
mov eax, dword [edi + 0xc]
cmp dword [eax + 0xc], 0
jle 0x53e44e
mov ecx, edi
call fcn.00533eb0
mov edx, esi
mov ecx, edi
call fcn.00524190
mov ecx, eax
mov eax, dword [ecx]
mov ebx, dword [eax + 0xc]
add eax, 0x10
je 0x53e4f2
cmp dword [esp + 0x24], 0
je 0x53e489
push dword [esp + 0x28]
push ebx
push 1
push eax
call fcn.00557e56
add esp, 0x10
cmp eax, ebx
jne 0x53e489
mov edx, 1
jmp 0x53e48b
xor edx, edx
mov ecx, dword [esp + 0x2c]
inc esi
mov dword [esp + 0x24], edx
test ecx, ecx
jne 0x53e2b4
test edx, edx
jne 0x53e4e6
call fcn.0055b584
mov esi, dword [eax]
mov eax, dword [edi + 8]
push esi
mov dword [eax + 4], 0x7ff7a500
add dword [edi + 8], 8
call fcn.0058bdf8
add esp, 4
mov edx, eax
mov ecx, edi
call fcn.00524930
mov eax, dword [edi + 8]
movd xmm0, esi
cvtdq2pd xmm0, xmm0
movsd qword [eax], xmm0
mov eax, 3
add dword [edi + 8], 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret
push dword [0x5b842c]
mov edx, esi
mov ecx, edi
call fcn.00528410
int3