Function at 0x418b70
Capabilities:
Inspect section memory permissions
Terminate process
Write file on windows

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x238
mov eax, dword [0x52de04]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebx + 0xc]
push esi
mov esi, dword [ebx + 8]
push edi
push 0xcd0
mov dword [ebp - 0x1e8], esi
mov dword [ebp - 0x1e4], eax
call fcn.0049c406
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x418bdd
mov dword [ecx + 0xcc4], 0
mov dword [ecx + 0xcc8], 0
mov dword [ecx + 0xccc], 0
jmp 0x418bdf
xor ecx, ecx
mov eax, dword [0x68d6ec]
xorps xmm0, xmm0
movq qword [ecx], xmm0
mov dword [ecx + 8], 0
mov dword [eax*4 + 0x68b6e8], ecx
mov eax, dword [0x68b6d0]
mov dword [ecx + 0xb98], eax
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x418c10
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.00417230
mov edi, dword [0x68d6ec]
mov edx, eax
add esp, 4
mov ecx, esi
mov eax, dword [edi*4 + 0x68b6e8]
mov dword [eax + 0xba0], edx
sub edx, esi
nop
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x418c40
mov eax, dword [edi*4 + 0x68b6e8]
cmp dword [eax + 0xb98], 0
jne 0x418d05
push esi
call fcn.0041d4f0
add esp, 4
mov ecx, esi
xorps xmm0, xmm0
push 0
push 0x20000000
push 1
push 0
push 0
push 0x40000000
sub esp, 0x18
lea edi, [ecx + 1]
mov edx, esp
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x418ca0
sub ecx, edi
push ecx
push esi
mov ecx, edx
call fcn.004020f0
lea eax, [ebp - 0x60]
push eax
call fcn.0041cf40
add esp, 0x1c
cmp dword [eax + 0x14], 8
jb 0x418cc6
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ecx, dword [0x68d6ec]
mov ecx, dword [ecx*4 + 0x68b6e8]
mov dword [ecx + 4], eax
lea ecx, [ebp - 0x60]
call fcn.00402610
mov edi, dword [0x68d6ec]
mov eax, dword [edi*4 + 0x68b6e8]
cmp dword [eax + 4], 0xffffffff
jne 0x418cff
mov dword [eax + 4], 0
mov dword [eax], 0
mov edx, dword [edi*4 + 0x68b6e8]
mov ecx, 0x200
mov eax, dword [0x52ace4]
mov esi, 0x68d6f0
lea edi, [edx + 8]
rep movsd dword es:[edi], dword [esi]
mov dword [edx + 0x820], eax
call fcn.004183b0
mov ecx, dword [0x68d6ec]
mov edi, dword [ebp - 0x1e4]
mov edx, dword [ebx + 0x10]
mov eax, dword [ecx*4 + 0x68b6e8]
mov dword [eax + 0xcbc], 0
mov dword [eax + 0x10], edi
mov dword [eax + 0x14], edx
cmp dword [eax + 0x30], 1
jle 0x418db9
cmp dword [eax + 0x2c], 0
jne 0x418db9
push 0x4fd8ac
call fcn.0041c8c0
push eax
push str.DISABLEBMFPACKING
call fcn.00412960
add esp, 0xc
test eax, eax
jne 0x418db3
mov eax, dword [0x68b6cc]
test eax, eax
je 0x418d9a
push eax
call fcn.00412ef0
push eax
push str.NOQUEUE
call fcn.00412960
add esp, 0xc
test eax, eax
jne 0x418db3
mov ecx, dword [0x68d6ec]
mov eax, dword [ecx*4 + 0x68b6e8]
mov dword [eax + 0x6d0], 1
jmp 0x418dca
mov ecx, dword [0x68d6ec]
mov eax, dword [ecx*4 + 0x68b6e8]
mov dword [eax + 0x6d0], 0
mov eax, dword [ecx*4 + 0x68b6e8]
push dword [eax + 0x140]
call fcn.00412d80
mov ecx, dword [0x68d6ec]
add esp, 4
mov esi, dword [ecx*4 + 0x68b6e8]
mov edx, dword [esi + 0x30]
mov ecx, edx
cmp edx, 0x10
jne 0x41905b
imul eax, eax, 0x488
mov dword [ebp - 0x1f4], eax
mov edi, eax
mov eax, dword [0x6a3ad4]
cmp dword [edi + eax + 0x150], 8
mov edi, dword [ebp - 0x1e4]
jne 0x41905b
cmp byte [0x68df00], 0
jne 0x41905b
mov ecx, dword [ebp - 0x1f4]
mov dword [esi + 0x30], 8
mov eax, dword [0x6a3ad4]
mov eax, dword [ecx + eax + 0x450]
mov ecx, 8
shr eax, 5
and al, 1
mov byte [esi + 0xcb8], al
mov eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
imul eax, edi
mov dword [esi + 0x808], eax
mov ecx, 0x24
lea eax, [esi + 0x828]
nop word [eax + eax]
mov dword [eax + 0x90], 0
lea eax, [eax + 4]
mov dword [eax - 4], 0
mov dword [eax + 0x11c], 0
mov dword [eax + 0x2d4], 0
sub ecx, 1
jne 0x418e80
mov eax, dword [esi + 0x808]
imul dword [esi + 0x14]
push ecx
mov edi, eax
mov eax, edx
push 0x800
push eax
push edi
mov dword [ebp - 0x1f4], edi
mov dword [ebp - 0x1f0], eax
call fcn.004b41f0
mov ecx, eax
test ecx, ecx
je 0x418eef
mov eax, 0x800
sub eax, ecx
cdq
add edi, eax
mov dword [ebp - 0x1f4], edi
adc dword [ebp - 0x1f0], edx
push dword [ebp - 0x1f0]
mov eax, dword [esi + 0x18]
cdq
push edi
push edx
push eax
call fcn.004b41b0
mov esi, eax
mov edi, edx
add esi, 0x800
push 0
adc edi, 0
mov dword [ebp - 0x224], esi
mov dword [ebp - 0x204], edi
call fcn.00446720
add esp, 4
test eax, eax
jne 0x418f56
test edi, edi
jl 0x418f56
jg 0x418f33
cmp esi, 0xffffffff
jbe 0x418f56
push 0
push 0x100000
push edi
push esi
call fcn.004b4100
push eax
push str.You_are_about_to_render_a_file_of__d_megabytes_in_size._n_nThis_exceeds_the_maximum_supported_by_your_FAT32_or_FAT_file_system._n_nYou_must_upgrade_to_an_NTFS_file_system_for_reliable_operation._n_nSee_Microsoft_documentation.
push 0x10
push str.Warning
call fcn.004154f0
add esp, 0x10
mov edi, dword [0x68d6ec]
mov eax, dword [edi*4 + 0x68b6e8]
cmp dword [eax + 0xb98], 0
jne 0x41907b
mov edx, dword [ebp - 0x1e8]
sub esp, 0x18
mov dword [ebp - 0x1f8], esp
mov ecx, edx
sub esp, 0x18
xorps xmm0, xmm0
mov edi, esp
lea eax, [ecx + 1]
mov dword [ebp - 0x1fc], eax
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x418fa3
sub ecx, dword [ebp - 0x1fc]
push ecx
push edx
mov ecx, edi
call fcn.004020f0
push dword [ebp - 0x1f8]
call fcn.0041cf40
add esp, 0x1c
call fcn.004463e0
add esp, 0x18
xor ecx, ecx
sub eax, 0x2710
sbb ecx, ecx
push 0
push 0x3e8
push ecx
push eax
call fcn.004b41b0
mov edi, dword [ebp - 0x204]
cmp edi, edx
jl 0x419075
jg 0x418ffa
cmp esi, eax
jbe 0x419075
push str.Insufficient_Disk_Space
push str.INSUFFICENTDISKSPACE
call fcn.0041b3d0
push 0x4fdbd0
push str.WARNING
mov esi, eax
call fcn.0041b3d0
push eax
lea eax, [ebp - 0x60]
push str.Wasatch_SoftRIP____s
push eax
call fcn.004151e0
add esp, 0x1c
mov ecx, eax
call fcn.004176d0
push edi
push dword [ebp - 0x224]
push esi
push str._s_n_nFile_Size:__I64u_bytes
push 0x10
push eax
call fcn.0041be10
add esp, 0x18
lea ecx, [ebp - 0x60]
call fcn.00402610
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
cmp ecx, 1
jne 0x418e57
lea eax, [edi + 7]
cdq
and edx, 7
add eax, edx
sar eax, 3
jmp 0x418e65
mov edi, dword [0x68d6ec]
mov ecx, dword [edi*4 + 0x68b6e8]
mov eax, dword [ecx + 0x2c]
test eax, eax
jne 0x4190d2
push 4
push 0x3000
push 0x80000
push eax
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov edi, dword [0x68d6ec]
mov ecx, dword [edi*4 + 0x68b6e8]
mov dword [ecx + 0x948], eax
mov dword [ecx + 0xb00], 0
mov dword [ecx + 0x9d8], 0x800
mov dword [ecx + 0x9dc], 0
jmp 0x41920e
cmp eax, 1
jne 0x41920e
cmp dword [ecx + 0x18], 0
mov dword [ebp - 0x214], 0
jle 0x419193
mov dword [ebp - 0x1fc], 0x9d8
mov dword [ebp - 0x1f8], 0xb00
push 4
push 0x3000
push 0x80000
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov edi, dword [0x68d6ec]
mov ecx, dword [ebp - 0x1f8]
push dword [ebp - 0x1f0]
mov esi, dword [edi*4 + 0x68b6e8]
push dword [ebp - 0x1f4]
mov dword [ecx + esi - 0x1b8], eax
mov eax, dword [ebp - 0x214]
cdq
push edx
push eax
mov dword [ecx + esi], 0
call fcn.004b41b0
mov ecx, dword [ebp - 0x1fc]
add eax, 0x800
adc edx, 0
add dword [ebp - 0x1f8], 4
mov dword [ecx + esi], eax
mov eax, dword [ebp - 0x214]
mov dword [ecx + esi + 4], edx
inc eax
add ecx, 8
mov dword [ebp - 0x214], eax
mov dword [ebp - 0x1fc], ecx
cmp eax, dword [esi + 0x18]
jl 0x419103
mov esi, dword [ebp - 0x224]
mov eax, dword [edi*4 + 0x68b6e8]
cmp dword [eax], 0
je 0x41920e
cmp dword [ebp - 0x204], 0
jl 0x4191c9
jg 0x4191af
cmp esi, 0xffffffff
jbe 0x4191c9
push str.Frame_Sequential_file_over_2_gigabytes
push 0x10
push str.Warning
call fcn.004154f0
mov edi, dword [0x68d6ec]
add esp, 0xc
mov eax, dword [edi*4 + 0x68b6e8]
mov esi, dword [eax + 0x18]
imul esi, dword [ebp - 0x1f4]
push dword [eax]
add esi, 0x800
call fcn.004dbbef
push esi
push eax
call fcn.004d280b
mov eax, dword [0x68d6ec]
push 0
push 0
mov eax, dword [eax*4 + 0x68b6e8]
push dword [eax]
call fcn.004c3c02
mov edi, dword [0x68d6ec]
add esp, 0x18
mov ecx, dword [edi*4 + 0x68b6e8]
mov eax, dword [0x68def0]
mov dword [0x68def0], 0
mov dword [ecx + 0x5ec], eax
mov eax, dword [0x68def4]
mov dword [ecx + 0x5f0], eax
mov eax, dword [0x68def8]
mov dword [ecx + 0x5f4], eax
mov eax, dword [0x68defc]
mov dword [ecx + 0x5f8], eax
mov eax, dword [ecx + 0x820]
mov dword [0x68def4], 0
mov dword [0x68def8], 0
mov dword [0x68defc], 0
cmp eax, 3
je 0x419279
cmp eax, 1
jne 0x41929c
push 0x68dd14
push 0x68da54
call fcn.00445ee0
call fcn.00415460
push eax
call fcn.00445c40
mov edi, dword [0x68d6ec]
add esp, 0xc
mov eax, dword [edi*4 + 0x68b6e8]
mov dword [ebp - 0x204], 0
cmp dword [eax + 0x18], 0
jle 0x41932b
mov esi, 0x8b8
nop dword [eax + eax]
push 0x80000
call fcn.00417230
mov edi, dword [0x68d6ec]
add esp, 4
mov ecx, dword [edi*4 + 0x68b6e8]
mov dword [esi + ecx - 0x90], eax
mov eax, dword [ecx + 0x820]
cmp eax, 3
je 0x4192f1
cmp eax, 1
jne 0x41930f
push dword [ebp - 0x1e4]
call fcn.00445ad0
mov edi, dword [0x68d6ec]
add esp, 4
mov ecx, dword [edi*4 + 0x68b6e8]
mov dword [esi + ecx], eax
mov ecx, dword [ebp - 0x204]
add esi, 4
mov eax, dword [edi*4 + 0x68b6e8]
inc ecx
mov dword [ebp - 0x204], ecx
cmp ecx, dword [eax + 0x18]
jl 0x4192c0
mov ecx, dword [edi*4 + 0x68b6e8]
cmp dword [ecx + 0xb98], 0
jne 0x41935c
push 0
lea eax, [ebp - 0x234]
push eax
push 0x800
lea eax, [ecx + 8]
push eax
push dword [ecx + 4]
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov edi, dword [0x68d6ec]
mov ecx, dword [edi*4 + 0x68b6e8]
xor eax, eax
mov edx, dword [0x68b6cc]
test edx, edx
setg al
mov dword [ecx + 0xb94], eax
xor eax, eax
cmp dword [0x68b6d0], eax
setg al
mov dword [ecx + 0xb98], eax
add ecx, 0xaf8
test edx, edx
jle 0x4193b5
push ecx
call fcn.004cddd4
mov edi, dword [0x68d6ec]
add esp, 4
mov ecx, dword [edi*4 + 0x68b6e8]
mov dword [ecx + 0xaf8], eax
mov dword [ecx + 0xafc], edx
jmp 0x4193c2
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov eax, dword [edi*4 + 0x68b6e8]
cmp dword [eax + 0x2c], 1
jne 0x4193d9
mov dword [eax + 0xb94], 0
cmp dword [eax + 0xb94], 0
je 0x41a1f4
call fcn.00426a30
push 0x168
lea eax, [ebp - 0x1e0]
push 0
push eax
call fcn.004b90a0
mov eax, dword [0x68d6ec]
lea edx, [ebp - 0x1e0]
add esp, 0xc
mov eax, dword [eax*4 + 0x68b6e8]
mov ecx, dword [eax + 0xba0]
nop dword [eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx], al
lea edx, [edx + 1]
test al, al
jne 0x419420
mov esi, dword [ebp - 0x1e4]
lea eax, [ebp - 0x1e0]
mov edi, dword [ebx + 0x10]
push 1
push eax
push dword [0x68b6cc]
mov dword [ebp - 0xd8], esi
push 0x68b6e4
push 0x68b6e0
push 0x68b6dc
push 0x68b6d8
mov dword [ebp - 0xd4], edi
call fcn.00429010
push dword [0x68b6cc]
call fcn.00412de0
imul eax, eax, 0x488
add eax, dword [0x6a3ad4]
push eax
mov eax, dword [0x68d6ec]
mov eax, dword [eax*4 + 0x68b6e8]
push dword [eax + 0x18]
call fcn.00428ed0
mov eax, dword [0x68d6ec]
push dword [0x52acc8]
mov eax, dword [eax*4 + 0x68b6e8]
add eax, 8
push eax
push dword [0x68b6cc]
call fcn.0048aad0
push edi
push esi
push dword [ebp - 0x1e8]
push dword [0x68b6cc]
call fcn.0048acd0
mov eax, dword [0x68d6ec]
add esp, 0x44
mov eax, dword [eax*4 + 0x68b6e8]
push dword [0x68b6cc]
add eax, 0x148
push eax
call fcn.0048b500
mov eax, dword [0x68d6ec]
push 0
push 0
mov ecx, dword [eax*4 + 0x68b6e8]
lea eax, [ecx + 0xba8]
push eax
lea eax, [ecx + 0xba4]
push eax
push dword [0x68b6cc]
call fcn.00413160
push dword [0x68b6cc]
call fcn.00412ef0
push eax
push str.ANNOTATEPRINTS
call fcn.00412960
add esp, 0x28
test eax, eax
je 0x419638
cmp dword [0x68b6d0], 0
jne 0x419638
mov eax, dword [0x68d6ec]
mov esi, dword [eax*4 + 0x68b6e8]
lea eax, [esi + 0x3ec]
push eax
push dword [0x68b6cc]
call fcn.0042b690
movd xmm0, dword [esi + 0x38]
cvtdq2pd xmm0, xmm0
push dword [0x68b6cc]
movsd qword [ebp - 0x228], xmm0
fmul qword [ebp - 0x228]
fstp qword [ebp - 0x228]
cvttsd2si eax, qword [ebp - 0x228]
mov dword [esi + 0xcb4], eax
mov dword [ebp - 0x204], 0
movd xmm1, dword [esi + 0xcb4]
movd xmm0, dword [esi + 0x38]
cvtdq2pd xmm1, xmm1
cvtdq2pd xmm0, xmm0
mulsd xmm1, qword [0x4ff3f8]
divsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1e8], eax
call fcn.00412de0
imul eax, eax, 0x488
add eax, dword [0x6a3ad4]
push eax
mov eax, dword [0x68d6ec]
mov eax, dword [eax*4 + 0x68b6e8]
push dword [eax + 0x14]
lea eax, [ebp - 0x1e8]
push 0
push eax
lea eax, [ebp - 0x204]
push eax
push dword [0x68b6cc]
call fcn.0042aec0
mov edx, dword [0x68d6ec]
add esp, 0x24
mov ecx, dword [edx*4 + 0x68b6e8]
mov eax, dword [ecx + 0x38]
imul eax, dword [ebp - 0x1e8]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm0, qword [0x4ff3f8]
cvttsd2si eax, xmm0
mov dword [ecx + 0xcb4], eax
jmp 0x41964f
mov edx, dword [0x68d6ec]
mov eax, dword [edx*4 + 0x68b6e8]
mov dword [eax + 0xcb4], 0
mov esi, dword [edx*4 + 0x68b6e8]
mov edi, dword [0x68b6dc]
mov eax, dword [esi + 0xcb4]
add eax, edi
add eax, dword [0x68b6e0]
test eax, eax
jle 0x419693
mov ecx, dword [esi + 0xba8]
mov eax, dword [esi + 0x14]
push dword [0x68b6e4]
imul eax, ecx
imul ecx, edi
push eax
push ecx
call fcn.0048b8d0
mov edx, dword [0x68d6ec]
add esp, 0xc
mov eax, dword [edx*4 + 0x68b6e8]
push dword [0x68b6cc]
push dword [eax + 0x38]
call fcn.00429d90
mov ecx, dword [0x68d6ec]
mov edi, eax
add esp, 8
mov ecx, dword [ecx*4 + 0x68b6e8]
imul edi, dword [ecx + 0xba8]
cmp dword [0x68b6dc], 0
mov dword [ebp - 0x1f0], edi
je 0x41989b
cmp dword [0x68b6e0], 0
je 0x41989b
push dword [0x68b6cc]
call fcn.00412ef0
push eax
push str.CUTTINGZEROMARK
call fcn.00412960
push dword [0x68b6cc]
mov dword [0x68df04], eax
call fcn.00412de0
imul ecx, eax, 0x488
add esp, 0x10
mov eax, dword [0x6a3ad4]
cmp dword [ecx + eax + 0x2ac], 0
je 0x419729
mov dword [0x68df04], 0
mov eax, dword [0x68d6ec]
push dword [0x68b6cc]
mov eax, dword [eax*4 + 0x68b6e8]
push dword [eax + 0x38]
call fcn.00429610
push dword [0x68b6cc]
mov dword [0x68df0c], eax
mov eax, dword [0x68d6ec]
mov eax, dword [eax*4 + 0x68b6e8]
push dword [eax + 0x34]
call fcn.00429610
mov esi, dword [0x68b6d8]
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0x1e4], ecx
mov dword [0x68df08], ecx
cmp ecx, esi
jge 0x41988f
mov eax, dword [0x68df0c]
cmp eax, dword [0x68b6dc]
jge 0x41988f
cmp dword [0x68df04], 0
je 0x4198ac
mov eax, dword [0x68d6ec]
cmp dword [0x68b6e4], ecx
cmovg ecx, dword [0x68b6e4]
mov eax, dword [eax*4 + 0x68b6e8]
mov dword [0x68b6e4], ecx
push dword [eax + 0x30]
call fcn.004207a0
mov eax, dword [0x68d6ec]
push dword [0x68b6cc]
mov eax, dword [eax*4 + 0x68b6e8]
mov esi, dword [eax + 0x38]
mov edi, dword [eax + 0x34]
mov eax, dword [0x68df0c]
mov dword [ebp - 0x1e8], eax
call fcn.00412ef0
push eax
push str.CUTMARKSTYLE
call fcn.004129d0
push eax
call fcn.0041fef0
push esi
push edi
push 0x31
push 2
push dword [ebp - 0x1e8]
push eax
call fcn.00420890
mov esi, dword [0x68b6d8]
mov ecx, eax
mov eax, esi
mov dword [ebp - 0x1e4], ecx
sub eax, ecx
mov dword [0x68df08], ecx
cdq
add esp, 0x2c
and edx, 7
add eax, edx
and eax, 0xfffffff8
mov dword [0x68df10], eax
mov eax, dword [0x68d6ec]
mov eax, dword [eax*4 + 0x68b6e8]
mov ecx, dword [eax + 0x10]
mov edi, dword [eax + 0x30]
add ecx, esi
add ecx, dword [0x68b6e4]
cmp edi, 1
jne 0x41985e
lea eax, [ecx + 7]
jmp 0x419863
mov eax, edi
imul eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
shl eax, 3
cdq
idiv edi
mov edi, dword [ebp - 0x1f0]
sub eax, dword [0x68b6e4]
dec eax
cdq
and edx, 7
add eax, edx
and eax, 0xfffffff8
mov dword [0x68df14], eax
jmp 0x4198ac
mov dword [0x68df04], 0
jmp 0x4198ac
mov eax, dword [0x68df08]
mov esi, dword [0x68b6d8]
mov dword [ebp - 0x1e4], eax
mov eax, dword [0x68d6ec]
mov ecx, dword [eax*4 + 0x68b6e8]
mov dword [ebp - 0x1e8], ecx
cmp dword [ecx + 0xb94], 0
je 0x419d81
cmp dword [ecx + 0x30], 1
jne 0x4198e3
mov eax, esi
cdq
and edx, 7
lea esi, [edx + eax]
and esi, 0xfffffff8
mov dword [0x68b6d8], esi
mov ecx, dword [ecx + 0x10]
add ecx, esi
mov esi, dword [ebp - 0x1e8]
add ecx, dword [0x68b6e4]
mov dword [esi + 0x80c], ecx
mov eax, dword [esi + 0x30]
cmp eax, 1
jne 0x419910
lea eax, [ecx + 7]
cdq
and edx, 7
add eax, edx
sar eax, 3
jmp 0x41991c
cdq
and edx, 7
add eax, edx
sar eax, 3
imul eax, ecx
mov dword [esi + 0x810], eax
mov eax, 0x10624dd3
movd xmm1, dword [esi + 0xcb4]
movd xmm0, dword [esi + 0x38]
cvtdq2pd xmm1, xmm1
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
movsd qword [ebp - 0x88], xmm1
mov ecx, dword [esi + 0x5ec]
imul ecx, dword [esi + 0x34]
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0xcc], eax
mov eax, 0x10624dd3
mov ecx, dword [esi + 0x5f0]
imul ecx, dword [esi + 0x38]
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0xc8], eax
mov eax, 0x10624dd3
mov ecx, dword [esi + 0x5f4]
imul ecx, dword [esi + 0x34]
imul ecx
mov eax, 0x10624dd3
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov dword [ebp - 0xc4], ecx
mov ecx, dword [esi + 0x5f8]
imul ecx, dword [esi + 0x38]
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [0x68df04], 0
mov dword [ebp - 0xc0], eax
je 0x419bae
mov ecx, dword [0x68b6dc]
mov eax, dword [0x68df0c]
mov dword [ebp - 0x1e8], ecx
cmp ecx, eax
jl 0x419bae
mov ecx, dword [ebp - 0x1e4]
cmp dword [0x68b6d8], ecx
jl 0x419bae
cdq
add esi, 0xcc4
sub eax, edx
mov dword [ebp - 0x204], esi
mov esi, dword [ebp - 0x1e8]
sar eax, 1
sub esi, eax
mov eax, ecx
cdq
sub eax, edx
mov dword [ebp - 0x224], esi
mov edx, eax
mov eax, dword [ebp - 0x204]
sar edx, 1
add edx, dword [0x68df10]
mov dword [ebp - 0x228], edx
mov edi, dword [eax + 4]
cmp edi, dword [eax + 8]
je 0x419a4e
mov dword [edi], edx
mov edx, edi
mov dword [edx + 4], esi
add dword [eax + 4], 8
jmp 0x419a69
lea ecx, [ebp - 0x228]
push ecx
push edi
mov ecx, eax
call fcn.00405a20
mov ecx, dword [0x68df08]
mov dword [ebp - 0x1e4], ecx
mov eax, dword [0x68d6ec]
mov edi, dword [0x68b6dc]
mov esi, dword [eax*4 + 0x68b6e8]
mov eax, dword [0x68df0c]
cdq
sub eax, edx
sar eax, 1
sub edi, eax
mov eax, ecx
mov ecx, dword [esi + 0xcc8]
cdq
sub eax, edx
mov dword [ebp - 0x1e8], edi
sar eax, 1
add eax, dword [0x68df14]
mov dword [ebp - 0x1ec], eax
cmp ecx, dword [esi + 0xccc]
je 0x419abc
mov dword [ecx], eax
mov dword [ecx + 4], edi
add dword [esi + 0xcc8], 8
jmp 0x419ada
lea eax, [ebp - 0x1ec]
push eax
push ecx
lea ecx, [esi + 0xcc4]
call fcn.00405a20
mov eax, dword [0x68df08]
mov dword [ebp - 0x1e4], eax
mov eax, dword [0x68d6ec]
mov edi, dword [ebp - 0x1f0]
mov esi, dword [eax*4 + 0x68b6e8]
mov eax, dword [0x68df0c]
cdq
sub eax, edx
mov ecx, dword [esi + 0xcb4]
add ecx, dword [esi + 0x14]
sar eax, 1
add eax, dword [0x68b6dc]
add eax, ecx
lea ecx, [esi + 0xcc4]
lea eax, [eax + edi*2]
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x1e4]
mov esi, dword [ebp - 0x1e8]
cdq
sub eax, edx
mov dword [ebp - 0x204], esi
mov edx, dword [ecx + 4]
sar eax, 1
add eax, dword [0x68df10]
mov dword [ebp - 0x208], eax
cmp edx, dword [ecx + 8]
je 0x419b52
mov dword [edx], eax
mov eax, dword [ebp - 0x1e4]
mov dword [edx + 4], esi
add dword [ecx + 4], 8
jmp 0x419b64
lea eax, [ebp - 0x208]
push eax
push edx
call fcn.00405a20
mov eax, dword [0x68df08]
mov ecx, dword [0x68d6ec]
cdq
sub eax, edx
mov dword [ebp - 0x1e8], esi
sar eax, 1
mov ecx, dword [ecx*4 + 0x68b6e8]
add eax, dword [0x68df14]
add ecx, 0xcc4
mov dword [ebp - 0x1ec], eax
mov edx, dword [ecx + 4]
cmp edx, dword [ecx + 8]
je 0x419ba1
mov dword [edx], eax
mov dword [edx + 4], esi
add dword [ecx + 4], 8
jmp 0x419bae
lea eax, [ebp - 0x1ec]
push eax
push edx
call fcn.00405a20
mov eax, dword [0x68d6ec]
xorps xmm0, xmm0
mov eax, dword [eax*4 + 0x68b6e8]
mov edx, dword [eax + 0xba0]
mov ecx, edx
movups xmmword [ebp - 0x60], xmm0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
lea esi, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x419be0
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x60]
call fcn.004020f0
push 0xffffffffffffffff
push 0x4fdefc
lea ecx, [ebp - 0x60]
call fcn.004176e0
xorps xmm0, xmm0
mov dword [ebp - 0x68], 0
movups xmmword [ebp - 0x78], xmm0
mov dword [ebp - 0x64], 0
lea edx, [eax + 2]
mov eax, dword [ebp - 0x50]
cmp eax, edx
jb 0x41a237
sub eax, edx
mov ecx, 7
cmp eax, ecx
cmovb ecx, eax
cmp dword [ebp - 0x4c], 0x10
lea eax, [ebp - 0x60]
cmovae eax, dword [ebp - 0x60]
push ecx
add eax, edx
lea ecx, [ebp - 0x78]
push eax
call fcn.004020f0
cmp dword [ebp - 0x64], 0x10
lea eax, [ebp - 0x78]
cmovae eax, dword [ebp - 0x78]
push eax
call fcn.004cd97e
mov ecx, dword [0x68d6ec]
add esp, 4
xorps xmm0, xmm0
mov dword [ebp - 0x1e8], eax
mov edx, dword [ecx*4 + 0x68b6e8]
push dword [0x68b6cc]
sub esp, 0x18
mov ecx, dword [edx + 0xcb4]
add ecx, dword [edx + 0x14]
add ecx, dword [0x68b6dc]
mov esi, dword [edx + 0x80c]
lea edi, [ecx + edi*2]
mov ecx, esp
add edi, dword [0x68b6e0]
push 0
push 0x4ffbfc
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.004021b0
mov eax, dword [0x68d6ec]
sub esp, 0xc
mov ecx, esp
mov eax, dword [eax*4 + 0x68b6e8]
add eax, 0xcc4
push eax
call fcn.00405de0
push 1
lea eax, [ebp - 0x1e0]
push eax
push edi
push esi
sub esp, 0x18
mov eax, esp
push dword [ebp - 0x1e8]
push dword [0x68b6cc]
push eax
call fcn.00420620
add esp, 0xc
call fcn.004201d0
mov ecx, dword [ebp - 0x64]
add esp, 0x50
cmp ecx, 0x10
jb 0x419d35
mov edx, dword [ebp - 0x78]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x419d2b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a23c
push ecx
push edx
call fcn.004b3acc
add esp, 8
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0xf
mov byte [ebp - 0x78], 0
cmp ecx, 0x10
jb 0x419d7b
mov edx, dword [ebp - 0x60]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x419d71
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a23c
push ecx
push edx
call fcn.004b3acc
add esp, 8
mov esi, dword [0x68b6d8]
mov eax, dword [0x68d6ec]
mov ecx, dword [eax*4 + 0x68b6e8]
mov edx, dword [ecx + 0xba4]
cmp edx, 1
jg 0x419dd8
cmp dword [ecx + 0xba8], 1
jg 0x419dd8
mov eax, dword [ecx + 0xcb4]
add eax, dword [ecx + 0x14]
add eax, dword [0x68b6dc]
add eax, dword [0x68b6e0]
push 1
push 0
push 0
push dword [ecx + 0x38]
push dword [ecx + 0x34]
push eax
push dword [ecx + 0x80c]
lea eax, [ecx + 8]
push esi
push eax
call fcn.0048b990
add esp, 0x24
jmp 0x419e14
mov eax, dword [ecx + 0xcb4]
add eax, dword [ecx + 0x14]
add eax, dword [0x68b6dc]
add eax, dword [0x68b6e0]
push 1
push 0
push 0
push dword [ecx + 0xba8]
push edx
push dword [ecx + 0x38]
push dword [ecx + 0x34]
push eax
push dword [ecx + 0x80c]
lea eax, [ecx + 8]
push esi
push eax
call fcn.00428d10
add esp, 0x2c
mov ecx, dword [0x68d6ec]
mov esi, dword [0x68b6dc]
mov edx, dword [ecx*4 + 0x68b6e8]
mov eax, dword [edx + 0xcb4]
add eax, esi
add eax, dword [0x68b6e0]
test eax, eax
jle 0x419e5e
mov ecx, dword [edx + 0xba8]
mov eax, dword [edx + 0x14]
push dword [0x68b6e4]
imul eax, ecx
imul ecx, esi
push eax
push ecx
call fcn.0048b8d0
mov ecx, dword [0x68d6ec]
add esp, 0xc
mov edi, dword [ecx*4 + 0x68b6e8]
mov ecx, dword [edi + 0x30]
cmp ecx, 1
jne 0x419e86
mov eax, dword [0x68b6d8]
add eax, 7
cdq
and edx, 7
lea esi, [edx + eax]
mov eax, dword [0x68b6e4]
lea eax, [eax + 7]
jmp 0x419e9f
mov eax, ecx
imul eax, dword [0x68b6d8]
cdq
and edx, 7
imul ecx, dword [0x68b6e4]
lea esi, [edx + eax]
mov eax, ecx
cdq
and edx, 7
sar esi, 3
add esi, 2
lea ecx, [edx + eax]
mov eax, dword [edi + 0x808]
sar ecx, 3
add eax, ecx
add eax, esi
push eax
mov dword [ebp - 0x1f4], eax
call fcn.00417230
mov edi, dword [0x68d6ec]
push dword [ebp - 0x1f4]
push 0
mov esi, dword [edi*4 + 0x68b6e8]
push eax
mov dword [esi + 0xb9c], eax
call fcn.004b90a0
add esp, 0x10
cmp dword [esi + 0xb94], 0
je 0x41a1f4
cmp dword [0x68b6dc], 0
je 0x41a1f4
mov edi, dword [ebp - 0x1f4]
push edi
call fcn.00417230
mov esi, eax
push edi
mov dword [ebp - 0x1e4], esi
movd xmm0, esi
pshufd xmm0, xmm0, 0
movaps xmmword [ebp - 0x210], xmm0
call fcn.00417230
push edi
push 0
push esi
movd xmm0, eax
pshufd xmm0, xmm0, 0
mov dword [ebp - 0x1e8], eax
movups xmmword [ebp - 0x230], xmm0
call fcn.004b90a0
push edi
push 0
push dword [ebp - 0x1e8]
call fcn.004b90a0
movaps xmm6, xmmword [0x4ffc80]
add esp, 0x20
movups xmm3, xmmword [0x4ffc90]
xor eax, eax
movaps xmm4, xmmword [ebp - 0x210]
xorps xmm2, xmm2
movups xmm5, xmmword [ebp - 0x230]
nop
movups xmm1, xmmword [eax + 0x52ae68]
pcmpeqd xmm1, xmm2
andnps xmm1, xmm3
andps xmm1, xmm6
pcmpeqd xmm1, xmm2
andnps xmm1, xmm3
movaps xmm0, xmm1
andnps xmm1, xmm5
andps xmm0, xmm4
orps xmm0, xmm1
movups xmm1, xmmword [eax + 0x52ae78]
movups xmmword [ebp + eax - 0x48], xmm0
pcmpeqd xmm1, xmm2
andnps xmm1, xmm3
andps xmm1, xmm6
pcmpeqd xmm1, xmm2
andnps xmm1, xmm3
movaps xmm0, xmm1
andnps xmm1, xmm5
andps xmm0, xmm4
orps xmm0, xmm1
movups xmmword [ebp + eax - 0x38], xmm0
add eax, 0x20
cmp eax, 0x40
jl 0x419f80
push dword [0x68b6cc]
call fcn.00412ef0
push eax
push str.CUTMARKSTYLE
call fcn.004129d0
push eax
call fcn.0041fef0
xor esi, esi
mov dword [0x68b6d4], eax
add esp, 0x10
mov dword [ebp - 0x1f8], esi
cmp dword [0x68b6dc], esi
jle 0x41a1d5
push edi
push 0
push dword [ebp - 0x1e4]
call fcn.004b90a0
add esp, 0xc
cmp dword [0x68df04], 0
je 0x41a17e
mov ecx, dword [0x68b6dc]
mov eax, ecx
mov edx, dword [ebp - 0x1f0]
sub eax, edx
cmp esi, eax
jge 0x41a17e
sub ecx, dword [0x68df0c]
sub ecx, edx
cmp esi, ecx
jle 0x41a17e
mov eax, dword [0x68d6ec]
mov esi, dword [eax*4 + 0x68b6e8]
mov eax, dword [esi + 0x30]
mov ecx, eax
imul ecx, dword [0x68df10]
mov ecx, ecx
test ecx, ecx
jns 0x41a079
add ecx, 7
sar ecx, 3
imul eax, dword [0x68df08]
mov edi, dword [ebp - 0x1e4]
add edi, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
push 0
push edi
call fcn.004b90a0
push dword [esi + 0x38]
push dword [esi + 0x34]
push 0
push 2
push dword [0x68df0c]
push dword [0x68b6d4]
call fcn.00420890
mov eax, dword [0x68df08]
cdq
sub eax, edx
sar eax, 1
push 0xffffffffffffffff
push eax
mov eax, dword [ebp - 0x1f8]
sub eax, dword [0x68b6dc]
add eax, dword [0x68df0c]
add eax, dword [ebp - 0x1f0]
push eax
push edi
call fcn.0041fee0
mov eax, dword [0x68d6ec]
mov esi, dword [eax*4 + 0x68b6e8]
mov eax, dword [esi + 0x30]
mov ecx, eax
imul ecx, dword [0x68df14]
mov ecx, ecx
test ecx, ecx
jns 0x41a105
add ecx, 7
sar ecx, 3
imul eax, dword [0x68df08]
mov edi, dword [ebp - 0x1e4]
add edi, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
push 0
push edi
call fcn.004b90a0
add esp, 0x40
push dword [esi + 0x38]
push dword [esi + 0x34]
push 1
push 2
push dword [0x68df0c]
push dword [0x68b6d4]
call fcn.00420890
mov eax, dword [0x68df08]
mov esi, dword [ebp - 0x1f8]
cdq
sub eax, edx
sar eax, 1
push 0xffffffffffffffff
push eax
mov eax, esi
sub eax, dword [0x68b6dc]
add eax, dword [0x68df0c]
add eax, dword [ebp - 0x1f0]
push eax
push edi
call fcn.0041fee0
mov edi, dword [ebp - 0x1f4]
add esp, 0x28
lea eax, [ebp - 0x48]
push eax
push 0
call fcn.004177d0
mov ecx, dword [ebp - 0x1f0]
add esp, 8
test ecx, ecx
jle 0x41a1c2
mov eax, dword [0x68b6dc]
sub eax, ecx
cmp esi, eax
jne 0x41a1c2
mov eax, dword [0x68d6ec]
mov eax, dword [eax*4 + 0x68b6e8]
push dword [eax + 0x38]
push dword [eax + 0x34]
push 0x20
push 2
push ecx
push 0
call fcn.00420890
add esp, 0x18
inc esi
mov dword [ebp - 0x1f8], esi
cmp esi, dword [0x68b6dc]
jl 0x41a012
push dword [ebp - 0x1e4]
call fcn.00417300
push dword [ebp - 0x1e8]
call fcn.00417300
mov edi, dword [0x68d6ec]
add esp, 8
mov eax, dword [edi*4 + 0x68b6e8]
cmp dword [eax + 0xb94], 0
je 0x41a221
push str.start
push dword [0x68b6cc]
add eax, 8
push eax
call fcn.0041fe00
mov edi, dword [0x68d6ec]
add esp, 0xc
mov ecx, dword [ebp - 4]
lea eax, [edi + 1]
pop edi
xor ecx, ebp
pop esi
call fcn.004b3f28
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.00402c00
call fcn.004c342f
int3