Function at 0x42a8ea
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
push ebx
push esi
push edi
mov edi, eax
cmp dword [edi + 0x24], 0xffffffff
jne 0x42a903
push 9
pop eax
jmp 0x42ac8e
mov ebx, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
xor esi, esi
mov dword [edi + 0x10], esi
test byte [ebx + 4], 0x10
je 0x42a934
inc esi
push esi
call fcn.00423d64
pop ecx
test eax, eax
jne 0x42a92d
mov dword [edi + 0x10], esi
call fcn.0042624e
jmp 0x42ac8b
xor eax, eax
jmp 0x42ac8e
push esi
call fcn.00423d64
pop ecx
test eax, eax
jne 0x42a948
mov dword [edi + 0x10], 1
jmp 0x42a923
fld qword [0x473a58]
fstp qword [ebp - 0x10]
fld qword [ebp - 0x10]
fsub qword [ebp - 0x10]
fld qword [ebp - 0x10]
fmul qword [0x473a00]
fsubp st(1)
fadd qword [0x473960]
fadd qword [ebp - 0x10]
fstp qword [ebp - 0x10]
fld qword [ebp - 0x10]
fmul qword [0x4739f8]
fld qword [ebp - 0x10]
fadd qword [0x4739f0]
faddp st(1)
fstp qword [ebp - 0x10]
fld qword [ebp - 0x10]
fadd qword [0x473980]
fadd qword [ebp - 0x10]
fld qword [ebp - 0x10]
fmul qword [0x4739e8]
faddp st(1)
fsub qword [0x4739e0]
fstp qword [ebp - 0x10]
fld qword [ebp - 0x10]
fmul qword [ebp - 0x10]
fld qword [ebp - 0x10]
fadd qword [0x4739d8]
faddp st(1)
fld qword [ebp - 0x10]
fmul qword [0x4739d0]
fmul qword [ebp - 0x10]
fsubp st(1)
fadd qword [0x473a68]
fsub qword [ebp - 0x10]
fsub qword [0x4739c8]
fadd qword [ebp - 0x10]
fsub qword [ebp - 0x10]
fsub qword [ebp - 0x10]
fstp qword [ebp - 0x10]
fld qword [ebp - 0x10]
fdiv qword [0x473a60]
fadd qword [ebp - 0x10]
fadd qword [ebp - 0x10]
fsub qword [ebp - 0x10]
fstp qword [ebp - 0x10]
fld qword [ebp - 0x10]
fsub qword [ebp - 0x10]
fsub qword [ebp - 0x10]
fstp qword [ebp - 0x10]
fld qword [ebp - 0x10]
fadd qword [ebp - 0x10]
fstp qword [ebp - 0x10]
fld qword [ebp - 0x10]
fmul qword [ebp - 0x10]
fadd qword [ebp - 0x10]
fstp qword [ebp - 0x10]
fld qword [ebp - 0x10]
mov ebx, dword [ebx + 4]
fsub qword [0x473a50]
fstp qword [ebp - 0x10]
call fcn.0043d8a6
push esi
push ebx
push 2
pop ebx
push ebx
push esi
push esi
push 0x40000000
push dword [ebp + 8]
call dword [eax + 0x4c]
mov dword [ebp - 0xc], eax
cmp eax, 0xffffffff
jne 0x42aae0
fld qword [0x473920]
mov dword [edi + 0x10], 1
fstp qword [ebp - 8]
fld qword [0x473918]
fstp qword [ebp - 0x10]
fld qword [0x473910]
fstp qword [ebp - 0x20]
fld qword [0x473908]
fstp qword [ebp - 0x28]
fld qword [0x473900]
fstp qword [ebp - 0x20]
fld qword [ebp - 0x10]
fcomp qword [ebp - 0x10]
fnstsw ax
test ah, 1
jne 0x42aa92
fld qword [ebp - 0x20]
fadd qword [ebp - 8]
fstp qword [ebp - 0x20]
call fcn.0042624e
mov dword [ebp - 0xc], 0x4f
mov dword [ebp - 0xc], 0x47
mov dword [ebp - 4], 0x15
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0xc]
cmp ecx, eax
jle 0x42ac8b
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
cmp eax, ecx
je 0x42ac8b
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 4]
imul eax, eax, 0x29
lea eax, [eax + ecx - 0x12]
add eax, dword [ebp - 0xc]
mov dword [ebp - 4], eax
jmp 0x42ac8b
mov eax, edi
call fcn.004293e4
cmp dword [edi + 0x10], esi
jne 0x42ac39
cmp dword [edi + 0x30], esi
jne 0x42ab2e
push 0x4000
call fcn.0043e7dd
fld qword [0x473a68]
mov dword [edi + 0x30], eax
fstp qword [ebp - 0x20]
fld qword [0x473a48]
fstp qword [ebp - 8]
fld qword [0x473a40]
fstp qword [ebp - 0x28]
fld qword [ebp - 0x20]
fsub qword [ebp - 8]
fstp qword [ebp - 8]
cmp dword [edi + 0x30], esi
jne 0x42ab2e
mov dword [edi + 0x10], ebx
fld qword [0x473a68]
fstp qword [ebp - 0x20]
fld qword [0x473a48]
fstp qword [ebp - 8]
fld qword [0x473a40]
fstp qword [ebp - 0x28]
fld qword [ebp - 0x20]
fsub qword [ebp - 8]
fstp qword [ebp - 8]
jmp 0x42ab8a
mov eax, dword [edi + 0x30]
mov ecx, 0x4000
call fcn.0042a34f
mov ebx, eax
cmp ebx, esi
je 0x42ab8f
mov eax, dword [edi + 0x30]
push esi
lea ecx, [ebp - 0x14]
push ecx
push ebx
push eax
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x42ab83
cmp dword [ebp - 0x14], ebx
je 0x42ab8a
mov dword [edi + 0x10], 3
cmp dword [edi + 0x10], esi
je 0x42ab54
fld qword [0x473920]
fstp qword [ebp - 0x28]
fld qword [0x473918]
fstp qword [ebp - 8]
fld qword [0x473910]
fstp qword [ebp - 0x20]
fld qword [0x473908]
fstp qword [ebp - 0x20]
fld qword [0x473900]
fstp qword [ebp - 0x20]
fld qword [ebp - 8]
fcomp qword [ebp - 8]
fnstsw ax
test ah, 1
jne 0x42abd2
fld qword [ebp - 0x20]
fadd qword [ebp - 0x28]
fstp qword [ebp - 0x20]
cmp dword [edi + 0x10], esi
jne 0x42abee
mov eax, dword [ebp + 0xc]
lea ecx, [eax + 0x18]
push ecx
lea ecx, [eax + 8]
push ecx
add eax, 0x10
push eax
push dword [ebp - 0xc]
call fcn.0043d78a
fld qword [0x4739c0]
fstp qword [ebp - 0x28]
fld qword [0x473a48]
fstp qword [ebp - 0x28]
fld qword [0x473928]
fstp qword [ebp - 0x28]
fld qword [0x4739b8]
fstp qword [ebp - 0x20]
fld qword [0x4739b0]
fstp qword [ebp - 0x28]
fld qword [0x473a50]
fstp qword [ebp - 8]
fld qword [ebp - 8]
fmul qword [ebp - 0x20]
fmul qword [ebp - 0x28]
fsub qword [0x4739a8]
fsub qword [ebp - 8]
fstp qword [ebp - 0x20]
call fcn.0043d8a6
push dword [ebp - 0xc]
call dword [eax + 0x40]
call fcn.0042624e
fld qword [0x473958]
fstp qword [ebp - 0x28]
fld qword [0x473950]
fstp qword [ebp - 0x28]
fld qword [0x473948]
fstp qword [ebp - 0x28]
fld qword [0x473940]
fstp qword [ebp - 0x28]
fld qword [0x473938]
fstp qword [ebp - 0x28]
fld qword [0x473930]
fstp qword [ebp - 0x20]
fld qword [ebp - 0x28]
fadd qword [0x473928]
fstp qword [ebp - 0x28]
mov eax, dword [edi + 0x10]
pop edi
pop esi
pop ebx
leave
ret