Function at 0x4271b3
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 0x4271cc
push 9
pop eax
jmp 0x42755c
xor esi, esi
mov dword [edi + 0x10], esi
mov dword [ebp - 4], 0x26
mov dword [ebp - 0xc], 0x55
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
imul eax, eax, 0x32
imul ecx, ecx, 0x2e
sub ecx, eax
add ecx, dword [ebp - 0xc]
push 0x57
add ecx, dword [ebp - 4]
pop ebx
mov dword [ebp - 4], ecx
add dword [ebp - 0xc], 0x63
add dword [ebp - 4], 0x4e
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 4]
imul ecx, eax
mov eax, dword [ebp - 0xc]
cdq
idiv ebx
mov ebx, dword [ebp + 0xc]
sub eax, ecx
add eax, dword [ebp - 0xc]
mov ecx, dword [ebp + 8]
add eax, dword [ebp - 4]
test byte [ebx + 4], 0x10
mov dword [ebp - 4], eax
je 0x427242
inc esi
push esi
call fcn.00423972
pop ecx
test eax, eax
jne 0x42723b
mov dword [edi + 0x10], esi
jmp 0x427554
xor eax, eax
jmp 0x42755c
push esi
call fcn.00423972
pop ecx
test eax, eax
jne 0x427259
mov dword [edi + 0x10], 1
jmp 0x427554
fld qword [0x46f900]
fst qword [ebp - 0x20]
fstp qword [ebp - 0x28]
fld qword [0x46f930]
fstp qword [ebp - 0x18]
fld qword [ebp - 0x28]
fld qword [ebp - 0x28]
fdiv qword [0x46f8f8]
fsubp st(1)
fld qword [ebp - 0x20]
fmul qword [0x46f8f0]
faddp st(1)
fadd qword [ebp - 0x20]
fadd qword [ebp - 0x18]
fstp qword [ebp - 0x28]
fld qword [ebp - 0x20]
fld qword [ebp - 0x28]
fucompp
fnstsw ax
test ah, 0x44
jp 0x4272bc
fld qword [ebp - 0x20]
fld qword [ebp - 0x28]
fmul qword [ebp - 0x20]
fmul qword [0x46f8e8]
fsubp st(1)
fstp qword [ebp - 0x28]
fld qword [ebp - 0x18]
fsub qword [ebp - 0x20]
fstp qword [ebp - 0x28]
push dword [ebx + 4]
push 2
push esi
push 0x40000000
push dword [ebp + 8]
call fcn.0043a6b1
mov dword [ebp - 0x1c], eax
cmp eax, 0xffffffff
jne 0x42732d
mov dword [edi + 0x10], 1
mov dword [ebp - 4], 0x26
mov dword [ebp - 0xc], 0x55
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
imul eax, eax, 0x32
imul ecx, ecx, 0x2e
sub ecx, eax
add ecx, dword [ebp - 0xc]
push 0x57
add ecx, dword [ebp - 4]
pop esi
mov dword [ebp - 4], ecx
add dword [ebp - 0xc], 0x63
add dword [ebp - 4], 0x4e
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 4]
imul ecx, eax
mov eax, dword [ebp - 0xc]
cdq
idiv esi
sub eax, ecx
add eax, dword [ebp - 0xc]
add eax, dword [ebp - 4]
mov dword [ebp - 4], eax
jmp 0x427554
mov dword [ebp - 0xc], 0x51
mov dword [ebp - 0x24], 0x47
mov dword [ebp - 0x14], 0x2b
mov dword [ebp - 0x24], 0x4b
mov dword [ebp - 4], 0x3e
mov dword [ebp - 0x24], 0x5b
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
cmp eax, ecx
jle 0x427389
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0xc]
imul eax, eax, 0x5f
sub eax, ecx
mov ecx, dword [ebp - 0x24]
sub eax, ecx
add eax, dword [ebp - 0xc]
add eax, dword [ebp - 0xc]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
imul eax, ecx
imul eax, eax, 0x5a
mov dword [ebp - 0x14], eax
mov eax, edi
call fcn.004269bf
fld qword [0x46f918]
fstp qword [ebp - 0x28]
fld qword [ebp - 0x28]
fsub qword [0x46f8e0]
fadd qword [ebp - 0x28]
fld qword [ebp - 0x28]
fmul qword [0x46f8d8]
faddp st(1)
fstp qword [ebp - 0x28]
fld qword [ebp - 0x28]
fadd qword [ebp - 0x28]
fsub qword [0x46f8d0]
fld qword [ebp - 0x28]
fmul qword [ebp - 0x28]
faddp st(1)
fstp qword [ebp - 0x28]
fld qword [ebp - 0x28]
fsub qword [ebp - 0x28]
fstp qword [ebp - 0x28]
cmp dword [edi + 0x10], esi
jne 0x42754b
cmp dword [edi + 0x30], esi
jne 0x42745e
push 0x4000
push esi
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov dword [edi + 0x30], eax
cmp eax, esi
jne 0x4273fb
mov dword [edi + 0x10], 2
fld qword [0x46f900]
fst qword [ebp - 0x18]
fstp qword [ebp - 0x28]
fld qword [0x46f930]
fstp qword [ebp - 0x10]
fld qword [ebp - 0x28]
fld qword [ebp - 0x28]
fdiv qword [0x46f8f8]
fsubp st(1)
fld qword [ebp - 0x18]
fmul qword [0x46f8f0]
faddp st(1)
fadd qword [ebp - 0x18]
fadd qword [ebp - 0x10]
fstp qword [ebp - 0x28]
fld qword [ebp - 0x18]
fld qword [ebp - 0x28]
fucompp
fnstsw ax
test ah, 0x44
jp 0x42745e
fld qword [ebp - 0x18]
fld qword [ebp - 0x28]
fmul qword [ebp - 0x18]
fmul qword [0x46f8e8]
fsubp st(1)
fstp qword [ebp - 0x28]
fld qword [ebp - 0x10]
fsub qword [ebp - 0x18]
fstp qword [ebp - 0x28]
mov dword [ebp - 4], 0x14
mov dword [ebp - 0x24], 0x47
mov dword [ebp - 0x14], 0x51
mov dword [ebp - 0x14], 0x5b
mov dword [ebp - 0xc], 0x4c
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
imul eax, eax, 0xd66
sub eax, ecx
mov ecx, dword [ebp - 0x24]
sub eax, ecx
add eax, dword [ebp - 0xc]
add eax, dword [ebp - 4]
mov dword [ebp - 0x14], eax
cmp dword [edi + 0x10], esi
jne 0x4274e0
mov eax, dword [edi + 0x30]
mov ecx, 0x4000
call fcn.00426494
mov ebx, eax
cmp ebx, esi
je 0x4274dd
mov eax, dword [edi + 0x30]
push esi
lea ecx, [ebp - 0x2c]
push ecx
push ebx
push eax
push dword [ebp - 0x1c]
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x4274d1
cmp dword [ebp - 0x2c], ebx
je 0x4274d8
mov dword [edi + 0x10], 3
cmp dword [edi + 0x10], esi
je 0x4274a2
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 4], esi
mov dword [ebp - 0x24], 0x14
mov dword [ebp - 0xc], 0x28
mov dword [ebp - 0x14], 0x19
mov dword [ebp - 0x24], 0x1a
mov dword [ebp - 0x24], 0x63
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xc]
cmp eax, ecx
jge 0x42751f
mov eax, dword [ebp - 0x24]
cdq
push 0x46
pop ecx
idiv ecx
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 4]
cmp ecx, eax
je 0x427532
mov eax, dword [ebp - 4]
imul eax, eax, 0x22
mov dword [ebp - 0x14], eax
cmp dword [edi + 0x10], esi
jne 0x42754b
lea eax, [ebx + 0x18]
push eax
lea eax, [ebx + 8]
push eax
add ebx, 0x10
push ebx
push dword [ebp - 0x1c]
call fcn.0043baa0
push dword [ebp - 0x1c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.004252eb
mov eax, dword [edi + 0x10]
pop edi
pop esi
pop ebx
leave
ret