Function at 0x4251f0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48c
push esi
push edi
mov eax, dword [0x46236c]
add eax, 0x3de16720
movsx ecx, word [0x462400]
imul ecx, eax
mov word [0x462400], cx
mov ecx, dword [ebp + 8]
call fcn.00416910
cmp eax, 0x8000
jbe 0x4257c5
movsx edx, word [0x462090]
sub edx, 0xcd932b3
mov dword [ebp - 0x28], edx
mov eax, dword [0x46201c]
add eax, 0x781671dd
mov dword [ebp - 0x30], eax
mov ecx, dword [0x46201c]
sub ecx, 1
mov dword [0x46201c], ecx
mov dx, word [0x462090]
sub dx, 1
mov word [0x462090], dx
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x30]
jl 0x425289
mov ecx, dword [0x4623f0]
movsx edx, word [0x462468]
lea eax, [edx + ecx - 0x787d6384]
mov word [0x462468], ax
movss xmm0, dword [0x462174]
cvtss2sd xmm0, xmm0
subsd xmm0, qword [0x462448]
addsd xmm0, qword [0x4620e8]
cvttsd2si ecx, xmm0
mov word [0x462094], cx
movsd xmm0, qword [0x462448]
addsd xmm0, qword [0x457c00]
movsd qword [0x462448], xmm0
movss xmm0, dword [0x462174]
addss xmm0, dword [0x457bf8]
movss dword [0x462174], xmm0
mov edx, dword [0x46235c]
sub edx, dword [0x462088]
movsx eax, word [0x4625b4]
add edx, eax
movsx ecx, word [0x462090]
add ecx, edx
mov word [0x462090], cx
mov dx, word [0x4625b4]
add dx, 1
mov word [0x4625b4], dx
lea eax, [ebp - 0x17c]
push eax
call fcn.00415c70
add esp, 4
mov dword [ebp - 0x24], eax
call fcn.00417ed0
movzx ecx, al
and ecx, 0x80000003
jns 0x42533e
dec ecx
or ecx, 0xfffffffc
inc ecx
add ecx, 7
push ecx
mov edx, dword [ebp - 0x24]
lea eax, [ebp + edx - 0x17c]
push eax
call fcn.0041b5f0
add esp, 8
push 5
push 0x2b91
call fcn.0041f610
add esp, 8
mov dword [ebp - 0x14], eax
mov ecx, dword [0x462100]
add ecx, 0x6df25d12
mov dword [0x462100], ecx
mov edx, dword [ebp - 0x14]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 8]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 8]
mov dl, byte [ecx]
mov byte [ebp - 2], dl
add dword [ebp - 8], 1
cmp byte [ebp - 2], 0
jne 0x425385
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x34], eax
lea edx, [ebp - 0x17c]
add edx, 0xffffffff
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0xc]
mov cl, byte [eax + 1]
mov byte [ebp - 1], cl
add dword [ebp - 0xc], 1
cmp byte [ebp - 1], 0
jne 0x4253b2
mov edi, dword [ebp - 0xc]
mov esi, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x34]
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 0x2b98
call fcn.0041f610
add esp, 8
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
push eax
push 5
call fcn.00415140
add esp, 8
mov cx, word [0x462468]
sub cx, 1
mov word [0x462468], cx
movsx edx, word [0x462468]
cvtsi2sd xmm0, edx
movsd xmm1, qword [0x4622b8]
subsd xmm1, qword [0x462178]
subsd xmm1, xmm0
movsd qword [ebp - 0x54], xmm1
mov eax, dword [0x4625a8]
add eax, 0x2f2aecef
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x64], xmm0
movsd xmm0, qword [0x462178]
addsd xmm0, qword [0x457c00]
movsd qword [0x462178], xmm0
movsd xmm0, qword [0x4622b8]
subsd xmm0, qword [0x457c00]
movsd qword [0x4622b8], xmm0
movsd xmm0, qword [ebp - 0x54]
comisd xmm0, xmmword [ebp - 0x64]
jbe 0x4254b2
mov cx, word [0x462048]
sub cx, 1
mov word [0x462048], cx
movsx edx, word [0x462048]
cvtsi2ss xmm0, edx
movss xmm1, dword [0x462058]
addss xmm1, xmm0
movss dword [0x462058], xmm1
mov eax, dword [ebp - 0x18]
push eax
lea ecx, [ebp - 0x17c]
push ecx
call fcn.00428417
add esp, 8
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0x18]
push edx
push 3
call fcn.00415140
add esp, 8
cmp dword [ebp - 0x10], 0
je 0x425773
mov eax, dword [ebp - 0x10]
push eax
push 1
mov ecx, dword [ebp + 8]
call fcn.00416910
push eax
mov ecx, dword [ebp + 8]
call fcn.00420360
push eax
call fcn.004285ca
add esp, 0x10
mov ecx, 0x63654419
sub ecx, dword [0x462574]
cvtsi2sd xmm0, ecx
addsd xmm0, qword [0x462498]
ucomisd xmm0, qword [0x457d70]
lahf
test ah, 0x44
jnp 0x4255b3
movsd xmm0, qword [0x462150]
movsd qword [ebp - 0x3c], xmm0
mov edx, dword [0x46200c]
sub edx, 0x70f14d36
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x5c], xmm0
mov eax, dword [0x46200c]
sub eax, 1
mov dword [0x46200c], eax
movsd xmm0, qword [ebp - 0x3c]
ucomisd xmm0, qword [ebp - 0x5c]
lahf
test ah, 0x44
jnp 0x425585
movss xmm0, dword [0x462174]
addss xmm0, dword [0x4582ac]
cvttss2si ecx, xmm0
mov word [0x4623b0], cx
jmp 0x4255b1
movsd xmm0, qword [0x462398]
addsd xmm0, qword [0x457c68]
movss xmm1, dword [0x462414]
cvtss2sd xmm1, xmm1
addsd xmm1, xmm0
cvtsd2ss xmm0, xmm1
movss dword [0x462414], xmm0
jmp 0x42562f
movsd xmm0, qword [0x4624b0]
movsd qword [ebp - 0x44], xmm0
movsx edx, word [0x46228c]
movsx eax, word [0x4624d8]
add eax, edx
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x4c], xmm0
mov cx, word [0x46228c]
sub cx, 1
mov word [0x46228c], cx
movsd xmm0, qword [0x4624b0]
subsd xmm0, qword [0x457c00]
movsd qword [0x4624b0], xmm0
movsd xmm0, qword [ebp - 0x44]
comisd xmm0, xmmword [ebp - 0x4c]
jb 0x42562f
mov edx, 0x7c91f84c
sub edx, dword [0x46218c]
movsx eax, word [0x462284]
lea ecx, [eax + edx + 0x5cea057a]
mov word [0x462284], cx
mov edx, dword [ebp - 0x10]
push edx
call fcn.004280ec
add esp, 4
mov ecx, dword [ebp + 8]
call fcn.00421550
movsx eax, word [0x462320]
movsx ecx, word [0x462328]
add ecx, eax
mov word [0x462328], cx
mov dx, word [0x462320]
add dx, 1
mov word [0x462320], dx
mov eax, 1
imul ecx, eax, 0x104
mov byte [ebp + ecx - 0x284], 0
push 0x104
lea edx, [ebp - 0x284]
push edx
push 0
call dword [0x4644a8]
mov eax, 1
imul ecx, eax, 0x207
mov byte [ebp + ecx - 0x48c], 0
push 0x15
push 0x2a8e
call fcn.0041f610
add esp, 8
mov dword [ebp - 0x20], eax
mov edx, dword [0x4643a0]
push edx
mov eax, dword [0x464388]
push eax
lea ecx, [ebp - 0x284]
push ecx
mov edx, dword [ebp - 0x20]
push edx
push 0x207
lea eax, [ebp - 0x48c]
push eax
call fcn.00428935
add esp, 0x18
mov ecx, dword [ebp - 0x20]
push ecx
push 0x15
call fcn.00415140
add esp, 8
mov edx, 1
test edx, edx
je 0x42570a
mov eax, dword [0x46218c]
sub eax, 0x5be442f
mov dword [0x46218c], eax
mov ecx, dword [0x4643a0]
push ecx
call fcn.00416df0
add esp, 4
lea edx, [ebp - 0x48c]
push edx
lea eax, [ebp - 0x17c]
push eax
call fcn.00407140
add esp, 8
push 0x208
push 0
lea ecx, [ebp - 0x48c]
push ecx
call fcn.0042c280
add esp, 0xc
push 0x105
push 0
lea edx, [ebp - 0x284]
push edx
call fcn.0042c280
add esp, 0xc
push 0x15f90
call dword [0x464504]
lea eax, [ebp - 0x17c]
push eax
call dword [0x464454]
movss xmm0, dword [0x4624e8]
subss xmm0, dword [0x4582cc]
movsx ecx, word [0x46203c]
cvtsi2ss xmm1, ecx
addss xmm1, xmm0
cvttss2si edx, xmm1
mov word [0x46203c], dx
push 0x118
push 0
lea eax, [ebp - 0x17c]
push eax
call fcn.0042c280
add esp, 0xc
mov ecx, dword [0x4621cc]
add ecx, 0x10f49c5b
mov dword [0x4621cc], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret