Function at 0x41b5b0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x46c
push esi
push edi
movsx eax, word [0x4524e0]
movsx ecx, word [0x452224]
lea edx, [ecx + eax - 0x1c6c51b1]
mov ax, word [0x4524e0]
sub ax, 1
mov word [0x4524e0], ax
cmp edx, 0x96931c3
jne 0x41b605
movsx ecx, word [0x452098]
movsx edx, word [0x45259c]
lea eax, [edx + ecx - 0x7c2bb891]
mov word [0x45259c], ax
jmp 0x41b626
mov ecx, dword [0x452124]
sub ecx, 1
mov dword [0x452124], ecx
mov edx, dword [0x452124]
sub edx, 0x340a290
mov dword [0x4522a0], edx
mov ecx, dword [ebp + 8]
call fcn.00405980
cmp eax, 0x8000
jbe 0x41ba92
fld dword [0x452470]
fsubr qword [0x452178]
fstp qword [0x452178]
mov eax, dword [0x452320]
sub eax, 0x8d5289f
mov dword [0x452320], eax
lea ecx, [ebp - 0x130]
push ecx
call fcn.0041eac0
add esp, 4
mov dword [ebp - 0x10], eax
call fcn.00416480
movzx edx, al
and edx, 0x80000003
jns 0x41b681
dec edx
or edx, 0xfffffffc
inc edx
add edx, 7
push edx
mov eax, dword [ebp - 0x10]
lea ecx, [ebp + eax - 0x130]
push ecx
call fcn.0040ca20
add esp, 8
push 5
push 0x36ac
call fcn.0041d520
add esp, 8
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0x444], edx
mov eax, dword [ebp - 0x444]
mov dword [ebp - 0x448], eax
mov ecx, dword [ebp - 0x444]
mov dl, byte [ecx]
mov byte [ebp - 0x449], dl
add dword [ebp - 0x444], 1
cmp byte [ebp - 0x449], 0
jne 0x41b6bf
mov eax, dword [ebp - 0x444]
sub eax, dword [ebp - 0x448]
mov ecx, dword [ebp - 0x448]
mov dword [ebp - 0x450], ecx
mov dword [ebp - 0x454], eax
lea edx, [ebp - 0x130]
add edx, 0xffffffff
mov dword [ebp - 0x458], edx
mov eax, dword [ebp - 0x458]
mov cl, byte [eax + 1]
mov byte [ebp - 0x459], cl
add dword [ebp - 0x458], 1
cmp byte [ebp - 0x459], 0
jne 0x41b70a
mov edi, dword [ebp - 0x458]
mov esi, dword [ebp - 0x450]
mov edx, dword [ebp - 0x454]
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 3
push 0x1a9d
call fcn.0041d520
add esp, 8
mov dword [ebp - 4], eax
movsx eax, word [0x4520a8]
mov dword [ebp - 0x460], eax
fild dword [ebp - 0x460]
fadd dword [0x452104]
fadd qword [0x44c9c0]
fld qword [0x44c9b8]
mov cx, word [0x4520a8]
add cx, 1
mov word [0x4520a8], cx
fucompi st(1)
fstp st(0)
lahf
test ah, 0x44
jnp 0x41b7c6
fld qword [0x4525a8]
fadd qword [0x44bcd0]
fstp qword [0x4525a8]
fld qword [0x4525a8]
fadd qword [0x44c9b0]
fadd dword [0x452428]
fstp dword [0x452428]
mov edx, dword [ebp - 0xc]
push edx
push 5
call fcn.0040e590
add esp, 8
mov eax, dword [ebp - 4]
push eax
lea ecx, [ebp - 0x130]
push ecx
call fcn.004210f8
add esp, 8
mov dword [ebp - 0x14], eax
fld qword [0x452090]
fadd qword [0x44c9a8]
fmul dword [0x4525a4]
fstp dword [0x4525a4]
mov edx, dword [ebp - 4]
push edx
push 3
call fcn.0040e590
add esp, 8
cmp dword [ebp - 0x14], 0
je 0x41ba7c
mov eax, dword [ebp - 0x14]
push eax
push 1
mov ecx, dword [ebp + 8]
call fcn.00405980
push eax
mov ecx, dword [ebp + 8]
call fcn.00405010
push eax
call fcn.004220ab
add esp, 0x10
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.00421ee0
add esp, 4
mov ecx, dword [ebp + 8]
call fcn.0041e070
mov byte [ebp - 0x33c], 0
fld dword [0x45214c]
fsub qword [0x44c9a0]
fld dword [0x4520ac]
fsubr qword [0x44c998]
fld dword [0x4520ac]
fadd qword [0x44bcd0]
fstp dword [0x4520ac]
fcompi st(1)
fstp st(0)
jbe 0x41b89c
fld dword [0x45241c]
fmul qword [0x44c990]
fstp dword [0x45241c]
jmp 0x41b95d
movsx edx, word [0x452028]
mov eax, 0x12e85a9d
sub eax, edx
mov dword [ebp - 0x464], eax
fild dword [ebp - 0x464]
fld dword [0x452374]
fadd qword [0x44c988]
fld dword [0x452374]
fadd qword [0x44bcd0]
fstp dword [0x452374]
fucompi st(1)
fstp st(0)
lahf
test ah, 0x44
jnp 0x41b8f0
movsd xmm0, qword [0x44c980]
movsd qword [0x452208], xmm0
jmp 0x41b95d
fld qword [0x452170]
fadd qword [0x44bcd0]
fstp qword [0x452170]
mov cx, word [0x4522cc]
sub cx, 1
mov word [0x4522cc], cx
movsx edx, word [0x4522cc]
mov dword [ebp - 0x468], edx
fild dword [ebp - 0x468]
fadd qword [0x452298]
fsub qword [0x44c978]
fld qword [0x452378]
fsubr qword [0x452170]
fsub qword [0x44c970]
fld qword [0x452378]
fadd qword [0x44bcd0]
fstp qword [0x452378]
fxch st(1)
fcompi st(1)
fstp st(0)
push 0x104
lea eax, [ebp - 0x440]
push eax
push 0
call dword [0x453c0c]
mov byte [ebp - 0x131], 0
push 0x15
push 0x14ee
call fcn.0041d520
add esp, 8
mov dword [ebp - 8], eax
mov ecx, dword [0x453fc0]
push ecx
mov edx, dword [0x45401c]
push edx
lea eax, [ebp - 0x440]
push eax
mov ecx, dword [ebp - 8]
push ecx
push 0x207
lea edx, [ebp - 0x338]
push edx
call fcn.00420f71
add esp, 0x18
mov eax, dword [ebp - 8]
push eax
push 0x15
call fcn.0040e590
add esp, 8
mov ecx, dword [0x453fc0]
push ecx
call fcn.00417670
add esp, 4
mov edx, dword [0x452018]
sub edx, 0x5650a672
xorps xmm0, xmm0
cvtsi2ss xmm0, edx
movss dword [0x4523e4], xmm0
lea eax, [ebp - 0x338]
push eax
lea ecx, [ebp - 0x130]
push ecx
call fcn.00414900
add esp, 8
movsx edx, word [0x4522b0]
mov dword [ebp - 0x46c], edx
fild dword [ebp - 0x46c]
fsubr dword [0x45212c]
fstp dword [0x45212c]
push 0x208
push 0
lea eax, [ebp - 0x338]
push eax
call fcn.00420b60
add esp, 0xc
push 0x105
push 0
lea ecx, [ebp - 0x440]
push ecx
call fcn.00420b60
add esp, 0xc
movsx edx, word [0x4523c0]
imul edx, edx, 0xb3b02e7
mov word [0x4523c0], dx
push 0x15f90
call dword [0x453c20]
lea eax, [ebp - 0x130]
push eax
call dword [0x454270]
push 0x118
push 0
lea ecx, [ebp - 0x130]
push ecx
call fcn.00420b60
add esp, 0xc
fld dword [0x452050]
fsub qword [0x44c968]
fstp dword [0x452050]
pop edi
pop esi
mov esp, ebp
pop ebp
ret