Function at 0x140105ae0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x2c0
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
mov rbx, rcx
mov r15d, 0x7fffffff
mov dword [rsp + 0x2c], r15d
xor r12d, r12d
mov dword [rsp + 0x48], r12d
mov dword [rsp + 0x30], 0x1ffffff
mov dword [rsp + 0x34], 0x101ff01
mov dword [rsp + 0x38], 0xfe0000fe
mov dword [rsp + 0x3c], 0x20200
mov dword [rsp + 0x40], 0x2fefefe
mov dword [rsp + 0x44], 0x202fe02
xorps xmm0, xmm0
movdqu xmmword [rax - 0x1f0], xmm0
mov r14d, r12d
mov dword [rsp + 0x28], r12d
mov r13d, r12d
cmp dword [rcx + 0x5490c], r12d
je 0x1401070b3
mov rcx, qword [rcx + 0x54860]
mov rax, qword [rcx]
xor r8d, r8d
mov rdx, qword [rbx + 0x54900]
call qword [rax + 0x18]
mov rcx, rbx
call fcn.140120ef0
mov word [rbx + 0x548d8], ax
mov rcx, qword [rbx + 0x54860]
mov rax, qword [rcx]
lea edx, [r12 + 6]
lea r8d, [r12 + 1]
call qword [rax + 0x18]
mov rcx, rbx
call fcn.1401182f0
mov edx, eax
mov rcx, qword [rbx + 0x54860]
mov r9, qword [rcx]
add rdx, qword [rbx + 0x54900]
xor r8d, r8d
call qword [r9 + 0x18]
mov rcx, rbx
call fcn.1401182f0
mov edi, eax
mov rcx, rbx
call fcn.1401182f0
nop
movss xmm7, dword [0x1404721f4]
movss xmm12, dword [0x140322c54]
xorps xmm6, xmm6
movsd xmm8, qword [0x140318738]
movsd xmm9, qword [0x1403182c0]
movsd xmm10, qword [0x140387b78]
movsd xmm11, qword [0x140387b58]
movsd xmm13, qword [0x140472200]
nop word [rax + rax]
mov eax, edi
dec edi
mov dword [rsp + 0x98], edi
test eax, eax
je 0x140106cef
mov rcx, rbx
call fcn.1400f90f0
mov rcx, rbx
call fcn.1401182f0
mov esi, eax
mov rcx, rbx
call fcn.1401182f0
mov r12d, eax
mov rcx, rbx
call fcn.1401182f0
mov edi, eax
mov rcx, qword [rbx + 0x54860]
mov rdx, qword [rcx]
call qword [rdx + 0x20]
mov qword [rsp + 0x118], rax
mov rcx, qword [rbx + 0x54860]
mov r9, qword [rcx]
mov edx, edi
add rdx, qword [rbx + 0x54900]
xor r8d, r8d
call qword [r9 + 0x18]
cmp esi, 0x419
jne 0x140105d8b
mov rcx, rbx
call fcn.1401182f0
xor r12d, r12d
mov edi, r12d
cmp edi, 8
jge 0x140105d01
mov rcx, rbx
call fcn.1401182f0
mov dword [rsp + 0x20], eax
movss xmm0, dword [rsp + 0x20]
cvtps2pd xmm0, xmm0
movsxd rax, edi
cvtpd2ps xmm0, xmm0
movss dword [rsp + rax*4 + 0xe8], xmm0
inc edi
jmp 0x140105cd3
movss xmm2, dword [rbx + 0x25114]
subss xmm2, dword [rsp + 0x104]
mulss xmm2, dword [rsp + 0x100]
addss xmm2, xmm7
addss xmm2, dword [rsp + 0xf4]
movss dword [rsp + 0xf4], xmm2
mov ecx, r12d
lea rdx, [rbx + 0xf58]
nop dword [rax + rax]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movaps xmm1, xmm0
mulss xmm1, dword [rsp + 0xfc]
addss xmm1, xmm2
mulss xmm1, xmm0
addss xmm1, dword [rsp + 0xec]
minss xmm1, xmm12
comiss xmm6, xmm1
jbe 0x140105d71
movaps xmm1, xmm6
cvttss2si eax, xmm1
mov word [rdx], ax
inc ecx
add rdx, 2
cmp ecx, 0x10000
jl 0x140105d40
jmp 0x140105e44
cmp esi, 0x41a
jne 0x140105eb5
xor r12d, r12d
mov edi, r12d
nop dword [rax]
cmp edi, 4
jge 0x140105dce
mov rcx, rbx
call fcn.1401182f0
mov dword [rsp + 0x20], eax
movss xmm0, dword [rsp + 0x20]
cvtps2pd xmm0, xmm0
movsxd rax, edi
cvtpd2ps xmm0, xmm0
movss dword [rsp + rax*4 + 0xe8], xmm0
inc edi
jmp 0x140105da0
mov ecx, r12d
lea rdx, [rbx + 0xf58]
nop dword [rax + rax]
xorps xmm1, xmm1
cvtsi2ss xmm1, ecx
movaps xmm0, xmm1
mulss xmm0, xmm6
addss xmm0, dword [rsp + 0xf4]
mulss xmm0, xmm1
addss xmm0, dword [rsp + 0xf0]
mulss xmm0, xmm1
addss xmm0, dword [rsp + 0xec]
mulss xmm0, xmm1
addss xmm0, dword [rsp + 0xe8]
addss xmm1, xmm0
minss xmm1, xmm12
comiss xmm6, xmm1
jbe 0x140105e2f
movaps xmm1, xmm6
cvttss2si eax, xmm1
mov word [rdx], ax
inc ecx
add rdx, 2
cmp ecx, 0x10000
jl 0x140105de0
mov edi, r12d
nop word [rax + rax]
movzx eax, word [rbx + 0x10]
cmp edi, eax
jae 0x14010681d
mov rcx, rbx
call fcn.1400f90f0
mov r9d, esi
and r9d, 1
imul r9d, dword [rbx + 0x25104]
movzx eax, word [rbx + 0x12]
cmp r9d, eax
jae 0x140105eb1
nop dword [rax]
movzx eax, word [rbx + 0x12]
imul eax, edi
add eax, r9d
mov r8d, eax
mov rdx, qword [rbx + 0x2ac68]
movzx eax, word [rdx + rax*2]
movzx ecx, word [rbx + rax*2 + 0xf58]
mov word [rdx + r8*2], cx
inc r9d
movzx eax, word [rbx + 0x12]
cmp r9d, eax
jb 0x140105e80
inc edi
jmp 0x140105e50
cmp esi, 0x400
jne 0x1401064d2
sub r12d, 8
js 0x140106810
mov word [rsp + 0x308], 0xffff
mov rcx, qword [rbx + 0x54860]
mov rax, qword [rcx]
mov r9d, 2
lea r8d, [r9 - 1]
lea rdx, [rsp + 0x308]
call qword [rax + 0x10]
mov edi, 0x4949
cmp word [rbx + 0x548d8], di
jne 0x140105f14
movzx ecx, byte [rsp + 0x309]
movzx eax, byte [rsp + 0x308]
jmp 0x140105f24
movzx ecx, byte [rsp + 0x308]
movzx eax, byte [rsp + 0x309]
shl cx, 8
or cx, ax
movzx r14d, cx
mov word [rsp + 0x310], 0xffff
mov rcx, qword [rbx + 0x54860]
mov rax, qword [rcx]
mov r9d, 2
lea r8d, [r9 - 1]
lea rdx, [rsp + 0x310]
call qword [rax + 0x10]
cmp word [rbx + 0x548d8], di
jne 0x140105f73
movzx ecx, byte [rsp + 0x311]
movzx eax, byte [rsp + 0x310]
jmp 0x140105f83
movzx ecx, byte [rsp + 0x310]
movzx eax, byte [rsp + 0x311]
shl cx, 8
or cx, ax
movzx esi, cx
mov word [rsp + 0x318], 0xffff
mov rcx, qword [rbx + 0x54860]
mov rax, qword [rcx]
mov r9d, 2
lea r8d, [r9 - 1]
lea rdx, [rsp + 0x318]
call qword [rax + 0x10]
cmp word [rbx + 0x548d8], di
jne 0x140105fd1
movzx edi, byte [rsp + 0x319]
movzx eax, byte [rsp + 0x318]
jmp 0x140105fe1
movzx edi, byte [rsp + 0x318]
movzx eax, byte [rsp + 0x319]
shl di, 8
or di, ax
mov word [rsp + 0x24], 0xffff
mov rcx, qword [rbx + 0x54860]
mov rax, qword [rcx]
mov r9d, 2
lea r8d, [r9 - 1]
lea rdx, [rsp + 0x24]
call qword [rax + 0x10]
movzx r15d, word [rbx + 0x12]
cmp r14d, r15d
jae 0x140105ec1
mov eax, 0x83
cmp di, ax
je 0x1401060fe
mov eax, 0x89
cmp di, ax
je 0x1401060fe
mov eax, 0x81
cmp di, ax
jne 0x140105ec1
movzx edi, word [rbx + 0x10]
cmp esi, edi
jae 0x140105ec1
movzx eax, word [rbx + 0x18]
mov ecx, esi
sub ecx, eax
shl ecx, 2
and ecx, 0x1c
movzx eax, word [rbx + 0x1a]
add eax, r14d
neg eax
add eax, eax
and eax, 2
or ecx, eax
mov eax, dword [rbx + 0x194]
shr eax, cl
and eax, 3
xor r10d, r10d
mov r11d, 8
cmp eax, 1
mov ecx, ntohs
cmovne r11d, ecx
xor edx, edx
cmp eax, 1
mov eax, 4
cmovne edx, eax
nop word [rax + rax]
movsx ecx, byte [rsp + rdx*2 + 0x31]
add ecx, r14d
movsx r8d, byte [rsp + rdx*2 + 0x30]
add r8d, esi
cmp r8d, edi
jae 0x1401060d2
movzx eax, word [rbx + 0x12]
cmp ecx, eax
jae 0x1401060d2
mov r9, qword [rbx + 0x2ac68]
imul eax, r8d
add eax, ecx
movzx ecx, word [r9 + rax*2]
jmp 0x1401060db
xor ecx, ecx
mov r9, qword [rbx + 0x2ac68]
add r10d, ecx
inc rdx
cmp rdx, r11
jl 0x1401060a0
lea ecx, [r10 + 4]
sar ecx, 3
imul r15d, esi
add r15d, r14d
mov word [r9 + r15*2], cx
jmp 0x140105ec1
xor r15d, r15d
mov edi, r15d
movzx eax, word [rbx + 0x10]
cmp r15w, ax
jae 0x140105ec1
nop dword [rax]
nop word [rax + rax]
movzx r8d, ax
movzx ecx, word [rbx + 0x1a]
add ecx, r14d
neg ecx
add ecx, ecx
and ecx, 2
movzx eax, word [rbx + 0x18]
mov edx, edi
sub edx, eax
shl edx, 2
and edx, 0x1c
or ecx, edx
mov eax, dword [rbx + 0x194]
shr eax, cl
and al, 3
cmp al, 1
jne 0x140106338
mov al, 0xff
movsx eax, al
lea ecx, [rax + r14]
lea edx, [rax + rdi]
cmp edx, r8d
jae 0x140106194
movzx eax, word [rbx + 0x12]
cmp ecx, eax
jae 0x140106194
mov r9, qword [rbx + 0x2ac68]
imul eax, edx
add eax, ecx
movzx r10d, word [r9 + rax*2]
mov dword [rsp + 0x50], r10d
mov al, 1
movsx eax, al
add eax, r14d
mov cl, 0xff
movsx ecx, cl
add ecx, edi
jmp 0x1401061b7
mov r9, qword [rbx + 0x2ac68]
mov dword [rsp + 0x50], r15d
mov r10d, r15d
mov al, 1
movsx eax, al
add eax, r14d
mov cl, 0xff
movsx ecx, cl
add ecx, edi
cmp ecx, r8d
jae 0x1401061cb
movzx edx, word [rbx + 0x12]
cmp eax, edx
jae 0x1401061cb
imul edx, ecx
add edx, eax
movzx ecx, word [r9 + rdx*2]
jmp 0x1401061ce
mov ecx, r15d
mov dword [rsp + 0x54], ecx
lea esi, [rcx + r10]
mov al, 0xff
movsx ecx, al
add ecx, r14d
mov al, 1
movsx edx, al
add edx, edi
cmp edx, r8d
jae 0x140106210
movzx eax, word [rbx + 0x12]
cmp ecx, eax
jae 0x140106210
imul eax, edx
add eax, ecx
movzx ecx, word [r9 + rax*2]
mov dword [rsp + 0x58], ecx
mov al, 1
movsx eax, al
add esi, ecx
lea ecx, [r14 + rax]
lea edx, [rdi + rax]
jmp 0x140106226
mov dword [rsp + 0x58], r15d
mov al, 1
movsx eax, al
lea ecx, [rax + r14]
lea edx, [rax + rdi]
cmp edx, r8d
jae 0x14010623a
movzx eax, word [rbx + 0x12]
cmp ecx, eax
jae 0x14010623a
imul eax, edx
add eax, ecx
movzx ecx, word [r9 + rax*2]
jmp 0x14010623d
mov ecx, r15d
mov dword [rsp + 0x5c], ecx
add esi, ecx
mov r11d, r15d
mov r9d, r15d
mov r10, r15
nop dword [rax]
mov eax, dword [rsp + r10 + 0x50]
shl eax, 2
sub eax, esi
cdq
xor eax, edx
sub eax, edx
mov dword [rsp + r10 + 0xa0], eax
movsxd rcx, r11d
mov r8d, r9d
cmp dword [rsp + rcx*4 + 0xa0], eax
cmovge r8d, r11d
mov eax, dword [rsp + r10 + 0x54]
shl eax, 2
sub eax, esi
cdq
xor eax, edx
sub eax, edx
mov dword [rsp + r10 + 0xa4], eax
movsxd rcx, r8d
lea r11d, [r9 + 1]
cmp dword [rsp + rcx*4 + 0xa0], eax
cmovge r11d, r8d
mov eax, dword [rsp + r10 + 0x58]
shl eax, 2
sub eax, esi
cdq
xor eax, edx
sub eax, edx
mov dword [rsp + r10 + 0xa8], eax
movsxd rcx, r11d
cmp dword [rsp + rcx*4 + 0xa0], eax
jge 0x1401062c8
lea r11d, [r9 + 2]
mov eax, dword [rsp + r10 + 0x5c]
shl eax, 2
sub eax, esi
cdq
xor eax, edx
sub eax, edx
mov dword [rsp + r10 + 0xac], eax
movsxd rcx, r11d
cmp dword [rsp + rcx*4 + 0xa0], eax
jge 0x1401062ef
lea r11d, [r9 + 3]
add r9d, 4
add r10, 0x10
cmp r9d, 4
jl 0x140106250
movsxd rax, r11d
sub esi, dword [rsp + rax*4 + 0x50]
movd xmm0, esi
cvtdq2pd xmm0, xmm0
divsd xmm0, xmm8
addsd xmm0, xmm9
cvttsd2si edx, xmm0
movzx ecx, word [rbx + 0x12]
imul ecx, edi
add ecx, r14d
mov rax, qword [rbx + 0x2ac68]
mov word [rax + rcx*2], dx
jmp 0x1401064bf
mov al, 0xfe
movsx eax, al
lea ecx, [r14 + rax]
lea edx, [rdi + rax]
cmp edx, r8d
jae 0x140106373
movzx eax, word [rbx + 0x12]
cmp ecx, eax
jae 0x140106373
imul eax, edx
add ecx, eax
mov rax, qword [rbx + 0x2ac68]
movzx r9d, word [rax + rcx*2]
mov al, 2
movsx eax, al
add eax, r14d
mov cl, 0xfe
movsx ecx, cl
add ecx, edi
jmp 0x14010638a
mov r9d, r15d
mov al, 2
movsx eax, al
add eax, r14d
mov cl, 0xfe
movsx ecx, cl
add ecx, edi
cmp ecx, r8d
jae 0x1401063a4
movzx edx, word [rbx + 0x12]
cmp eax, edx
jae 0x1401063a4
imul edx, ecx
add edx, eax
mov rax, qword [rbx + 0x2ac68]
movzx edx, word [rax + rdx*2]
jmp 0x1401063a7
mov edx, r15d
lea r10d, [rdx + r9]
mov al, 0xfe
movsx ecx, al
add ecx, r14d
mov al, 2
movsx r9d, al
add r9d, edi
cmp r9d, r8d
jae 0x1401063ed
movzx eax, word [rbx + 0x12]
cmp ecx, eax
jae 0x1401063ed
mov dl, 2
movsx edx, dl
imul eax, r9d
add ecx, eax
mov rax, qword [rbx + 0x2ac68]
movzx r11d, word [rax + rcx*2]
add r11d, r10d
lea ecx, [r14 + rdx]
lea r9d, [rdi + rdx]
jmp 0x140106402
mov r11d, r10d
mov al, 2
movsx eax, al
lea ecx, [r14 + rax]
lea r9d, [rdi + rax]
cmp r9d, r8d
jae 0x14010641d
movzx eax, word [rbx + 0x12]
cmp ecx, eax
jae 0x14010641d
imul eax, r9d
add ecx, eax
mov rax, qword [rbx + 0x2ac68]
movzx edx, word [rax + rcx*2]
jmp 0x140106420
mov edx, r15d
add r11d, edx
lea ecx, [r14 - 2]
cmp edi, r8d
jae 0x14010644d
movzx edx, word [rbx + 0x12]
cmp ecx, edx
jae 0x14010644d
mov r9, qword [rbx + 0x2ac68]
mov eax, edx
imul eax, edi
add eax, ecx
movzx esi, word [r9 + rax*2]
lea r10d, [r14 + 2]
jmp 0x140106467
movzx ecx, word [rbx + 0x12]
movzx edx, cx
lea r10d, [r14 + 2]
mov esi, r15d
mov r9, qword [rbx + 0x2ac68]
cmp edi, r8d
jae 0x14010647f
movzx eax, dx
movzx ecx, dx
cmp r10d, eax
jae 0x14010647f
imul eax, edi
add eax, r10d
movzx r8d, word [r9 + rax*2]
jmp 0x140106485
mov r8d, r15d
movzx edx, cx
lea eax, [r8 + rsi]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm10
movd xmm0, r11d
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm11
addsd xmm0, xmm9
addsd xmm1, xmm0
cvttsd2si ecx, xmm1
movzx eax, dx
imul eax, edi
add eax, r14d
mov word [r9 + rax*2], cx
inc edi
movzx eax, word [rbx + 0x10]
cmp edi, eax
jb 0x140106120
jmp 0x140105ec1
cmp esi, 0x401
jne 0x1401064f0
mov edx, 1
lea r8d, [rdx + 1]
mov rcx, rbx
call fcn.1401282f0
jmp 0x14010681a
cmp esi, 0x416
je 0x140106cdc
cmp esi, 0x410
je 0x140106cdc
cmp esi, 0x40b
jne 0x140106523
xor edx, edx
lea r8d, [rdx + 4]
mov rcx, rbx
call fcn.1401282f0
jmp 0x14010681a
cmp esi, 0x412
jne 0x140106580
mov rcx, qword [rbx + 0x54860]
mov rax, qword [rcx]
mov edx, 0x24
lea r8d, [rdx - 0x23]
call qword [rax + 0x18]
mov rcx, rbx
call fcn.140120ef0
movzx eax, ax
sub eax, dword [rbx + 0x250fc]
cdq
xor eax, edx
sub eax, edx
cmp r15d, eax
jle 0x14010681a
mov r15d, eax
mov dword [rsp + 0x2c], eax
mov rcx, qword [rbx + 0x54860]
mov rax, qword [rcx]
call qword [rax + 0x20]
lea esi, [rax - 0x26]
mov dword [rsp + 0x48], esi
jmp 0x14010681a
cmp esi, 0x41f
jne 0x140106840
test r13d, r13d
jne 0x14010681a
xor r13d, r13d
mov r14d, r13d
nop dword [rax + rax]
cmp r14d, 2
jge 0x1401065ef
mov esi, r13d
nop dword [rax]
cmp esi, 2
jge 0x1401065ea
mov edi, r13d
cmp edi, 0x10
jge 0x1401065e6
mov rcx, rbx
call fcn.1401182f0
movsxd rdx, r14d
movsxd rcx, esi
movsxd r8, edi
lea r9, [rcx + rdx*2]
shl r9, 4
add r9, r8
mov word [rsp + r9*2 + 0x1c0], ax
inc edi
jmp 0x1401065b8
inc esi
jmp 0x1401065b0
inc r14d
jmp 0x1401065a0
mov r10, r13
mov r8d, r13d
lea rdx, [rsp + 0x1e0]
add rdx, r10
mov r9d, 2
nop word [rax + rax]
movzx ecx, word [rdx - 0x20]
movzx eax, word [rdx]
add r8d, eax
add r8d, ecx
lea rdx, [rdx + 0x40]
sub r9, 1
jne 0x140106610
lea eax, [r8 + 2]
sar eax, 2
mov word [rsp + r10 + 0xc0], ax
add r10, 2
cmp r10, 0x20
jl 0x1401065f2
mov r15d, r13d
movzx r12d, word [rsp + 0xde]
nop dword [rax]
cmp r15d, 2
jge 0x14010680a
mov r14d, r13d
nop dword [rax]
cmp r14d, 2
jge 0x140106802
movsxd r9, r15d
movsxd rsi, r14d
lea rax, [rsi + r9*2]
shl rax, 5
lea rcx, [rsp + 0x1c8]
add rcx, rax
lea rdx, [rsp + 0xc0]
sub rdx, rax
lea r8, [rsp + 0x1c8]
sub rdx, r8
lea r8, [rsp + 0xc8]
sub r8, rax
lea rax, [rsp + 0x1c8]
sub r8, rax
mov rax, r13
movq xmm1, qword [rcx - 8]
xorps xmm0, xmm0
punpcklwd xmm1, xmm0
movdqu xmmword [rsp + rax + 0x174], xmm1
movq xmm2, qword [rdx + rcx]
punpcklwd xmm2, xmm0
movdqu xmmword [rsp + rax + 0x124], xmm2
movq xmm1, qword [rcx]
punpcklwd xmm1, xmm0
movdqu xmmword [rsp + rax + 0x184], xmm1
movq xmm2, qword [r8 + rcx]
punpcklwd xmm2, xmm0
movdqu xmmword [rsp + rax + 0x134], xmm2
lea rcx, [rcx + 0x10]
add rax, 0x20
cmp rax, 0x40
jl 0x1401066b2
mov dword [rsp + 0x120], r13d
mov dword [rsp + 0x170], r13d
lea rax, [rsi + r9*2]
shl rax, 5
movzx ecx, word [rsp + rax + 0x1de]
imul eax, r12d, 0xffff
xor edx, edx
div ecx
mov dword [rsp + 0x164], eax
mov dword [rsp + 0x1b4], eax
mov dword [rsp + 0x1b8], 0xffff
mov dword [rsp + 0x168], 0xffff
mov r9d, 0x13
lea r8, [rsp + 0x120]
lea rdx, [rsp + 0x170]
mov rcx, rbx
call fcn.140118b00
test r15d, r15d
je 0x140106785
mov edi, dword [rbx + 0x2510c]
jmp 0x140106788
mov edi, r13d
test r15d, r15d
je 0x140106793
movzx eax, word [rbx + 0x10]
jmp 0x140106799
mov eax, dword [rbx + 0x2510c]
cmp edi, eax
jae 0x1401067fa
mov rcx, rbx
call fcn.1400f90f0
test r14d, r14d
je 0x1401067b3
mov r9d, dword [rbx + 0x25104]
jmp 0x1401067b6
mov r9d, r13d
test r14d, r14d
je 0x1401067c1
movzx eax, word [rbx + 0x12]
jmp 0x1401067c7
mov eax, dword [rbx + 0x25104]
cmp r9d, eax
jae 0x1401067f6
movzx eax, word [rbx + 0x12]
imul eax, edi
add eax, r9d
mov r8d, eax
mov rdx, qword [rbx + 0x2ac68]
movzx eax, word [rdx + rax*2]
movzx ecx, word [rbx + rax*2 + 0xf58]
mov word [rdx + r8*2], cx
inc r9d
jmp 0x1401067b6
inc edi
jmp 0x140106788
inc r14d
jmp 0x140106660
inc r15d
jmp 0x140106650
mov r13d, 1
mov r15d, dword [rsp + 0x2c]
mov r14d, dword [rsp + 0x28]
xor r12d, r12d
mov rcx, qword [rbx + 0x54860]
mov rax, qword [rcx]
mov edx, dword [rsp + 0x118]
xor r8d, r8d
call qword [rax + 0x18]
mov edi, dword [rsp + 0x98]
jmp 0x140105c50
cmp esi, 0x41e
jne 0x140106a23
test r14d, r14d
jne 0x14010681a
mov rcx, rbx
call fcn.1401182f0
mov rcx, rbx
call fcn.1401182f0
mov rcx, rbx
call fcn.1401182f0
mov rcx, rbx
call fcn.1401182f0
mov rcx, rbx
call fcn.1401182f0
mov dword [rsp + 0x20], eax
movss xmm0, dword [rsp + 0x20]
cvtps2pd xmm0, xmm0
addsd xmm0, xmm13
cvtpd2ps xmm0, xmm0
movss dword [rsp + 0xb0], xmm0
mov rcx, rbx
call fcn.1401182f0
mov rcx, rbx
call fcn.1401182f0
mov rcx, rbx
call fcn.1401182f0
mov rcx, rbx
call fcn.1401182f0
mov rcx, rbx
call fcn.1401182f0
mov rcx, rbx
call fcn.1401182f0
mov dword [rsp + 0x20], eax
movss xmm0, dword [rsp + 0x20]
cvtps2pd xmm0, xmm0
addsd xmm0, xmm13
cvtpd2ps xmm0, xmm0
movss dword [rsp + 0xb4], xmm0
mov rcx, rbx
call fcn.1401182f0
mov rcx, rbx
call fcn.1401182f0
mov rcx, rbx
call fcn.1401182f0
mov rcx, rbx
call fcn.1401182f0
mov dword [rsp + 0x20], eax
movss xmm0, dword [rsp + 0x20]
cvtps2pd xmm0, xmm0
addsd xmm0, xmm13
cvtpd2ps xmm0, xmm0
movss dword [rsp + 0xb8], xmm0
mov rcx, rbx
call fcn.1401182f0
mov rcx, rbx
call fcn.1401182f0
mov rcx, rbx
call fcn.1401182f0
mov rcx, rbx
call fcn.1401182f0
mov dword [rsp + 0x20], eax
movss xmm0, dword [rsp + 0x20]
cvtps2pd xmm0, xmm0
addsd xmm0, xmm13
cvtpd2ps xmm0, xmm0
movss dword [rsp + 0xbc], xmm0
xor r12d, r12d
mov edi, r12d
nop dword [rax + rax]
movzx eax, word [rbx + 0x10]
cmp edi, eax
jae 0x140106a13
mov rcx, rbx
call fcn.1400f90f0
mov r10d, r12d
movzx ecx, word [rbx + 0x12]
cmp r12w, cx
jae 0x140106a0c
movzx r9d, cx
imul r9d, edi
add r9d, r10d
mov r8, qword [rbx + 0x2ac68]
mov rdx, r12
cmp r10d, dword [rbx + 0x25104]
mov eax, 4
cmovae rdx, rax
mov rax, r12
cmp edi, dword [rbx + 0x2510c]
mov ecx, 8
cmovae rax, rcx
lea rcx, [rsp + 0xb0]
add rcx, rax
movzx eax, word [r8 + r9*2]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [rcx + rdx]
cvttss2si eax, xmm0
mov ecx, 0xffff
cmp eax, ecx
cmovl ecx, eax
test ecx, ecx
cmovs ecx, r12d
mov word [r8 + r9*2], cx
inc r10d
movzx eax, word [rbx + 0x12]
movzx ecx, ax
cmp r10d, eax
jb 0x140106991
inc edi
jmp 0x140106970
mov r14d, 1
mov dword [rsp + 0x28], r14d
jmp 0x14010681d
cmp esi, 0x431
jne 0x14010681a
xor r12d, r12d
test r14d, r14d
jne 0x14010681d
mov edi, r12d
nop
cmp edi, 7
jge 0x140106a59
mov rcx, rbx
call fcn.1401182f0
movsxd rcx, edi
mov word [rsp + rcx*2 + 0x60], ax
inc edi
jmp 0x140106a40
mov r14d, r12d
nop dword [rax]
cmp r14d, 2
jge 0x140106aae
mov esi, r12d
nop dword [rax]
cmp esi, 2
jge 0x140106aa9
mov edi, r12d
cmp edi, 7
jge 0x140106aa5
mov rcx, rbx
call fcn.1401182f0
movsxd rdx, r14d
movsxd rcx, esi
movsxd r8, edi
lea rcx, [rcx + rdx*2]
imul rdx, rcx, 7
add rdx, r8
mov word [rsp + rdx*2 + 0x120], ax
inc edi
jmp 0x140106a78
inc esi
jmp 0x140106a70
inc r14d
jmp 0x140106a60
mov r15d, r12d
cmp r15d, 2
jge 0x140106cc4
mov r14d, r12d
nop
cmp r14d, 2
jge 0x140106cbc
movsxd rsi, r14d
movsxd rax, r15d
movzx edx, word [rsp + 0x60]
mov dword [rsp + 0x74], edx
lea rax, [rsi + rax*2]
imul r8, rax, 0xe
movzx ecx, word [rsp + r8 + 0x120]
imul ecx, edx
mov eax, 0xd1b71759
mul ecx
shr edx, 0xd
mov dword [rsp + 0xc4], edx
movzx eax, word [rsp + 0x62]
mov dword [rsp + 0x78], eax
movzx ecx, word [rsp + r8 + 0x122]
imul ecx, eax
mov eax, 0xd1b71759
mul ecx
shr edx, 0xd
mov dword [rsp + 0xc8], edx
movzx eax, word [rsp + 0x64]
mov dword [rsp + 0x7c], eax
movzx ecx, word [rsp + r8 + 0x124]
imul ecx, eax
mov eax, 0xd1b71759
mul ecx
shr edx, 0xd
mov dword [rsp + 0xcc], edx
movzx eax, word [rsp + 0x66]
mov dword [rsp + 0x80], eax
movzx ecx, word [rsp + r8 + 0x126]
imul ecx, eax
mov eax, 0xd1b71759
mul ecx
shr edx, 0xd
mov dword [rsp + 0xd0], edx
movzx eax, word [rsp + 0x68]
mov dword [rsp + 0x84], eax
movzx ecx, word [rsp + r8 + 0x128]
imul ecx, eax
mov eax, 0xd1b71759
mul ecx
shr edx, 0xd
mov dword [rsp + 0xd4], edx
movzx eax, word [rsp + 0x6a]
mov dword [rsp + 0x88], eax
movzx ecx, word [rsp + r8 + 0x12a]
imul ecx, eax
mov eax, 0xd1b71759
mul ecx
shr edx, 0xd
mov dword [rsp + 0xd8], edx
movzx eax, word [rsp + 0x6c]
mov dword [rsp + 0x8c], eax
movzx ecx, word [rsp + r8 + 0x12c]
imul ecx, eax
mov eax, 0xd1b71759
mul ecx
shr edx, 0xd
mov dword [rsp + 0xdc], edx
mov dword [rsp + 0xc0], r12d
mov dword [rsp + 0x70], r12d
mov dword [rsp + 0xe0], 0xffff
mov dword [rsp + 0x90], 0xffff
mov r9d, 9
lea r8, [rsp + 0xc0]
lea rdx, [rsp + 0x70]
mov rcx, rbx
call fcn.140118b00
test r15d, r15d
je 0x140106c39
mov edi, dword [rbx + 0x2510c]
jmp 0x140106c40
mov edi, r12d
nop dword [rax]
test r15d, r15d
je 0x140106c4b
movzx eax, word [rbx + 0x10]
jmp 0x140106c51
mov eax, dword [rbx + 0x2510c]
cmp edi, eax
jae 0x140106cb4
mov rcx, rbx
call fcn.1400f90f0
test r14d, r14d
je 0x140106c6b
mov r9d, dword [rbx + 0x25104]
jmp 0x140106c70
mov r9d, r12d
nop
test r14d, r14d
je 0x140106c7b
movzx eax, word [rbx + 0x12]
jmp 0x140106c81
mov eax, dword [rbx + 0x25104]
cmp r9d, eax
jae 0x140106cb0
movzx eax, word [rbx + 0x12]
imul eax, edi
add eax, r9d
mov r8d, eax
mov rdx, qword [rbx + 0x2ac68]
movzx eax, word [rdx + rax*2]
movzx ecx, word [rbx + rax*2 + 0xf58]
mov word [rdx + r8*2], cx
inc r9d
jmp 0x140106c70
inc edi
jmp 0x140106c40
inc r14d
jmp 0x140106ac0
inc r15d
jmp 0x140106ab1
mov r14d, 1
mov dword [rsp + 0x28], r14d
mov r13d, r14d
mov r15d, dword [rsp + 0x2c]
jmp 0x14010681d
xor edx, edx
lea r8d, [rdx + 2]
mov rcx, rbx
call fcn.1401282f0
jmp 0x14010681a
movsxd rsi, dword [rsp + 0x48]
test esi, esi
je 0x1401070b3
mov rcx, qword [rbx + 0x54860]
mov rax, qword [rcx]
mov rdx, rsi
xor r8d, r8d
call qword [rax + 0x18]
mov edi, r12d
mov rcx, rbx
cmp edi, 9
jge 0x140106d2f
call fcn.1401182f0
movsxd rcx, edi
and eax, 0x7fff
mov dword [rsp + rcx*4 + 0x70], eax
inc edi
jmp 0x140106d12
mov rdi, qword [rsp + 0x74]
mov esi, edi
imul esi, dword [rsp + 0x7c]
mov r14d, dword [rsp + 0x78]
imul r14d, dword [rsp + 0x80]
lea eax, [r14 + rsi]
movsxd rdx, eax
mov r8d, 6
call fcn.1400fa2f0
mov r15, rax
mov qword [rsp + 0x108], rax
lea r8, str.phase_one_correct__
mov rdx, rax
mov rcx, rbx
call fcn.1400fa510
movsxd rdx, esi
lea rcx, [r15 + rdx*4]
mov qword [rsp + 0x110], rcx
movsxd rax, r14d
lea rsi, [rcx + rax*4]
mov qword [rsp + 0xb0], rsi
lea rax, [rsi + rdx*2]
mov qword [rsp + 0xb8], rax
mov word [rsp + 0x308], 0xffff
mov rcx, qword [rbx + 0x54860]
mov rax, qword [rcx]
mov r9d, 2
lea r8d, [r9 - 1]
lea rdx, [rsp + 0x308]
call qword [rax + 0x10]
mov r13d, r12d
nop
cmp r13d, 2
jge 0x140106e2c
movsxd r14, r13d
nop dword [rax]
mov eax, dword [rsp + r14*4 + 0x74]
imul eax, dword [rsp + r14*4 + 0x7c]
cmp r12d, eax
jge 0x140106e24
mov rcx, rbx
call fcn.1401182f0
mov dword [rsp + 0x308], eax
movss xmm0, dword [rsp + 0x308]
cvtps2pd xmm0, xmm0
cvtpd2ps xmm1, xmm0
movsxd rcx, r12d
mov rax, qword [rsp + r14*8 + 0x108]
movss dword [rax + rcx*4], xmm1
inc r12d
jmp 0x140106de0
inc r13d
xor r12d, r12d
jmp 0x140106dd0
mov r13d, r12d
nop
cmp r13d, 2
jge 0x140106ed2
movsxd r14, r13d
nop dword [rax]
mov eax, dword [rsp + r14*4 + 0x74]
imul eax, dword [rsp + r14*4 + 0x7c]
cmp r12d, eax
jge 0x140106ec7
mov word [rsp + 0x308], 0xffff
mov rcx, qword [rbx + 0x54860]
mov rax, qword [rcx]
mov r9d, 2
lea r8d, [r9 - 1]
lea rdx, [rsp + 0x308]
call qword [rax + 0x10]
mov eax, 0x4949
cmp word [rbx + 0x548d8], ax
jne 0x140106e99
movzx edx, byte [rsp + 0x309]
movzx eax, byte [rsp + 0x308]
jmp 0x140106ea9
movzx edx, byte [rsp + 0x308]
movzx eax, byte [rsp + 0x309]
shl dx, 8
or dx, ax
movsxd rcx, r12d
mov rax, qword [rsp + r14*8 + 0xb0]
mov word [rax + rcx*2], dx
inc r12d
jmp 0x140106e40
inc r13d
xor r12d, r12d
jmp 0x140106e30
mov r14d, r12d
mov dword [rsp + 0x308], r14d
movzx eax, word [rbx + 0x10]
mov rcx, rbx
cmp r14d, eax
jae 0x1401070aa
call fcn.1400f90f0
movzx ecx, word [rbx + 0x12]
xor r8d, r8d
cmp r8w, cx
jae 0x14010709f
movd xmm4, dword [rsp + 0x7c]
cvtdq2ps xmm4, xmm4
mov eax, r14d
xorps xmm5, xmm5
cvtsi2ss xmm5, rax
nop word [rax + rax]
movzx ecx, cx
mov eax, r12d
xorps xmm3, xmm3
cvtsi2ss xmm3, rax
mulss xmm3, xmm4
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
divss xmm3, xmm0
cvttss2si edx, xmm3
movd xmm0, edx
cvtdq2ps xmm0, xmm0
subss xmm3, xmm0
imul ecx, r14d
add ecx, r12d
mov r13d, ecx
mov rax, qword [rbx + 0x2ac68]
mov qword [rsp + 0x318], rax
movzx eax, word [rax + rcx*2]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm9
cvtpd2ps xmm2, xmm0
lea eax, [rdx + 2]
cmp edx, eax
jge 0x14010703e
mov r10d, edi
imul r10d, edx
lea r11, [rsp + 0x310]
mov r14d, 2
nop word [rax + rax]
mov edx, r8d
mov r9d, r8d
test edi, edi
jle 0x140106ffc
mov ecx, r10d
nop dword [rax]
mov r9d, ecx
movsxd r8, ecx
movzx eax, word [rsi + r8*2]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm2
ja 0x140106fcf
inc edx
inc ecx
cmp edx, edi
jl 0x140106fb0
test edx, edx
je 0x140106ffc
cmp edx, edi
je 0x140106ffc
movzx ecx, word [rsi + r8*2]
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
subss xmm1, xmm2
movzx eax, word [rsi + r8*2 - 2]
sub ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
jmp 0x140107002
movaps xmm1, xmm6
movsxd r8, r9d
movaps xmm0, xmm7
subss xmm0, xmm1
mulss xmm0, dword [r15 + r8*4]
mulss xmm1, dword [r15 + r8*4 - 4]
addss xmm0, xmm1
movss dword [r11], xmm0
add r10d, edi
add r11, 4
sub r14, 1
mov r8d, 0
jne 0x140106fa0
mov r14d, dword [rsp + 0x308]
movaps xmm1, xmm7
subss xmm1, xmm3
mulss xmm1, dword [rsp + 0x310]
movss xmm0, dword [rsp + 0x314]
mulss xmm0, xmm3
addss xmm1, xmm0
mulss xmm1, xmm5
addss xmm1, xmm2
addss xmm1, xmm1
cvttss2si eax, xmm1
mov ecx, 0xffff
cmp eax, ecx
cmovl ecx, eax
test ecx, ecx
cmovs ecx, r8d
mov rax, qword [rsp + 0x318]
mov word [rax + r13*2], cx
inc r12d
movzx eax, word [rbx + 0x12]
movzx ecx, ax
cmp r12d, eax
jb 0x140106f20
inc r14d
xor r12d, r12d
jmp 0x140106ed5
mov rdx, r15
call fcn.1400fa4c0
nop
xor eax, eax
jmp 0x1401070bc
lea r11, [rsp + 0x2c0]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret