Function at 0x18004ac50
Capabilities:
Check for software breakpoints

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xc8]
sub rsp, 0x1a0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
mov rax, qword [0x180079880]
xor rax, rsp
mov qword [rbp + 0x50], rax
mov rdi, r9
mov qword [rbp - 0x58], r9
mov qword [rbp - 0x38], r8
mov r8, rdx
mov qword [rsp + 0x58], rdx
mov dword [rsp + 0x74], ecx
mov r14, qword [rbp + 0xf0]
mov qword [rbp - 0x78], r14
mov r10, qword [rbp + 0xf8]
mov qword [rbp - 0x50], r10
mov rax, qword [rbp + 0x100]
mov qword [rbp - 0x40], rax
mov r15, qword [rbp + 0x108]
mov qword [rbp - 0x48], r15
movdqa xmm0, xmmword [0x180072c40]
movdqu xmmword [rbp - 0x20], xmm0
mov byte [rbp - 0x30], 0
lea eax, [rcx + 0x4ea]
mov dword [rsp + 0x48], eax
cmp ecx, eax
jae 0x18004aeb8
xor ecx, ecx
mov qword [rbp - 0x70], rcx
movss xmm9, dword [0x180072b1c]
movss xmm8, dword [0x180072adc]
mov r12d, dword [rsp + 0x48]
mov dword [rsp + 0x2c], r12d
movzx ebx, word [rsp + 0x20]
mov qword [rbp - 0x80], rbx
movzx eax, word [rsp + 0x20]
mov dword [rbp - 0x64], eax
movzx eax, word [rsp + 0x20]
mov dword [rbp - 0x60], eax
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x68], eax
movzx edx, word [rsp + 0x20]
mov dword [rsp + 0x28], edx
movzx eax, word [rsp + 0x20]
mov dword [rsp + 0x44], eax
movzx r9d, word [rsp + 0x20]
mov dword [rsp + 0x34], r9d
movzx eax, word [rsp + 0x20]
mov dword [rsp + 0x50], eax
movzx eax, word [rsp + 0x20]
mov dword [rsp + 0x70], eax
mov esi, dword [rsp + 0x48]
mov dword [rsp + 0x38], esi
movzx r13d, word [rsp + 0x20]
mov dword [rsp + 0x30], r13d
mov r11d, dword [rsp + 0x48]
mov dword [rsp + 0x40], r11d
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x64], eax
movzx eax, word [rsp + 0x20]
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x48]
mov dword [rbp - 0x68], eax
mov eax, dword [rsp + 0x74]
nop word [rax + rax]
cmp eax, 0x18e
ja 0x18004b2f2
je 0x18004b229
cmp eax, 0xcc
ja 0x18004b064
je 0x18004b055
sub eax, 0x1c
je 0x18004b04a
sub eax, 0x4a
je 0x18004aff5
sub eax, 0x42
je 0x18004ae80
cmp eax, 8
jne 0x18004b1d0
mov rcx, qword [rbp - 0x40]
movsx ebx, r13w
cmp rcx, r15
je 0x18004ae22
lea eax, [rbx + rbx*4]
add eax, eax
movsxd r8, eax
add r8, r8
mov rdx, rcx
mov rcx, r15
call sub.VCRUNTIME140.dll_memcpy
mov r8, qword [rsp + 0x58]
mov r10, qword [rbp - 0x50]
cmp dword [r8], 0x7d00
jne 0x18004ae46
cmp r10, rdi
je 0x18004ae46
lea eax, [rbx + rbx*4]
add eax, eax
movsxd r8, eax
add r8, r8
mov rdx, r10
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
movzx eax, r13w
shl ax, 2
lea ecx, [rax + r13]
add cx, cx
mov word [rsp + 0x20], cx
lea r9, [r14 + 0x90]
mov r8d, 0x61
lea rdx, [rsp + 0x20]
mov rcx, r15
call fcn.1800050b0
mov rbx, rax
mov qword [rbp - 0x80], rax
jmp 0x18004b1bd
mov edi, 0xc8
mov eax, edi
sub eax, 0xc8
je 0x18004af05
cmp eax, 1
jne 0x18004af19
mov r9d, 0x127
lea r8, [rbp - 0x30]
xor edx, edx
mov rcx, r14
call fcn.18001b6c0
test al, al
jne 0x18004b9e0
mov byte [rsp + 0x30], 0
mov ecx, dword [rsp + 0x30]
mov qword [rbp - 0x70], rcx
mov rdx, qword [rbp - 0x18]
cmp rdx, 0x10
jb 0x18004ba19
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004ba10
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18004ba10
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov r8d, 0x9d
mov rdx, r14
xor ecx, ecx
call fcn.180047520
test al, al
je 0x18004aeb3
inc edi
cmp edi, 0xca
jb 0x18004ae85
mov eax, 1
movzx r11d, ax
mov word [rsp + 0x20], ax
movsx eax, word [rsp + 0x60]
mov r14d, 4
sub r14d, eax
mov dword [rsp + 0x78], r14d
lea rdi, [rbp - 4]
mov rbx, qword [rbp - 0x58]
movzx r10d, r11w
mov esi, dword [rdi]
mov r8d, dword [rbp + r10*4 - 4]
sub r8d, esi
mov ecx, r14d
shl r8d, cl
mov dword [rsp + 0x64], r8d
shl esi, 4
mov dword [rsp + 0x38], esi
xor eax, eax
movzx r9d, ax
cmp ax, r13w
jge 0x18004b863
mov r14d, r8d
mov r11, qword [rsp + 0x58]
nop dword [rax + rax]
mov r8d, 0x62
cmp r8d, 0x62
je 0x18004b80d
cmp r8d, 0x35fa
jne 0x18004b82d
movsx eax, r13w
mov ecx, r10d
imul ecx, eax
movzx eax, r9w
add ecx, eax
movsxd rdx, ecx
mov eax, r12d
sar eax, 0x10
mov word [r15 + rdx*2], ax
cmp dword [r11], 0x7d00
jne 0x18004afed
mov r12d, esi
sar r12d, 4
movsx eax, word [rbx + rdx*2]
imul r12d, eax
mov eax, r12d
sar eax, 0x10
mov word [rbx + rdx*2], ax
add esi, r14d
jmp 0x18004b82d
mov r9d, ecx
mov dword [rsp + 0x34], ecx
mov eax, dword [r8]
cmp eax, 0x1f40
jne 0x18004b01e
mov r13d, 8
mov dword [rsp + 0x30], r13d
mov dword [rsp + 0x60], 3
jmp 0x18004b1d0
cmp eax, 0x3e80
je 0x18004b030
cmp eax, 0x7d00
jne 0x18004ba06
mov r13d, 0x10
mov dword [rsp + 0x30], r13d
mov eax, 4
mov word [rsp + 0x60], ax
jmp 0x18004b1d0
mov edx, ecx
mov dword [rsp + 0x28], ecx
jmp 0x18004b1d0
mov eax, dword [r14]
mov rcx, qword [rbp - 0x40]
mov dword [rcx + 4], eax
jmp 0x18004b1d0
sub eax, 0xfa
je 0x18004b1f0
sub eax, 0x1c
je 0x18004b0c5
cmp eax, 0x2e
jne 0x18004b1d0
cmp bx, word [rbp - 0x64]
jle 0x18004b090
mov dword [rsp + 0x44], 0xffffffbf
jmp 0x18004b1d0
mov r10d, dword [rbp - 0x60]
cmp bx, r10w
jge 0x18004b0a4
mov word [rsp + 0x44], cx
jmp 0x18004b1d0
movzx eax, r10w
sub ax, bx
cwde
imul r12d, eax, 0x41
mov dword [rsp + 0x2c], r12d
mov eax, r12d
sar eax, 0xa
mov word [rsp + 0x44], ax
jmp 0x18004b1d0
cmp dword [r14], 1
jle 0x18004b1d0
mov r15d, 0x7b
mov rbx, qword [rbp - 0x78]
mov r13d, dword [rbp - 0x68]
lea esi, [r15 - 0x7a]
cmp r15d, 0x7b
je 0x18004b186
cmp r15d, 0x453
jne 0x18004b18c
movaps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_atanf
movaps xmm7, xmm0
movd xmm0, r13d
cvtdq2ps xmm0, xmm0
divss xmm7, xmm0
mulss xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mov r10, qword [rbp - 0x50]
movss dword [r10], xmm0
mulss xmm0, xmm8
movsxd rax, r13d
movss dword [r10 + rax*4], xmm0
mov edi, esi
cmp r13d, esi
jle 0x18004b18c
lea r14, [r10 + 4]
nop dword [rax + rax]
movd xmm6, edi
cvtdq2ps xmm6, xmm6
mulss xmm6, xmm7
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mulss xmm0, xmm8
movss dword [r14], xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
mulss xmm0, xmm8
mov eax, dword [rbx]
sub eax, edi
cdqe
mov rcx, qword [rbp - 0x50]
movss dword [rcx + rax*4], xmm0
inc edi
lea r14, [r14 + 4]
cmp edi, r13d
jl 0x18004b140
jmp 0x18004b18c
mov r13d, dword [rbx]
sar r13d, 1
add r15d, 0x3d8
cmp r15d, 0x7b0
jbe 0x18004b0e1
mov dword [rbp - 0x68], r13d
mov rbx, qword [rbp - 0x80]
mov esi, dword [rsp + 0x38]
mov r13d, dword [rsp + 0x30]
mov r15, qword [rbp - 0x48]
mov rdi, qword [rbp - 0x58]
mov r14, qword [rbp - 0x78]
mov edx, dword [rsp + 0x28]
mov r9d, dword [rsp + 0x34]
mov r11d, dword [rsp + 0x40]
mov r8, qword [rsp + 0x58]
mov eax, dword [rsp + 0x74]
add eax, 0x4a
mov dword [rsp + 0x74], eax
cmp eax, dword [rsp + 0x48]
jae 0x18004aeb8
xor ecx, ecx
mov r10, qword [rbp - 0x50]
jmp 0x18004adb0
cmp word [r14 + 0xea], 0xa
jle 0x18004b21d
movsx eax, bx
lea r12d, [rax + rax*2]
mov dword [rsp + 0x2c], r12d
movsx eax, word [r14 + 0xec]
mov ebx, r12d
sub ebx, eax
sar ebx, 2
mov qword [rbp - 0x80], rbx
xor ecx, ecx
mov dword [rbp - 0x64], 0x400
mov dword [rbp - 0x60], ecx
jmp 0x18004b1d0
cmp word [r14 + 0x8e], 3
je 0x18004b288
movzx eax, word [r14 + 0xbc]
mov edx, 0xfa0
cmp ax, dx
jge 0x18004b24d
mov word [rsp + 0x44], cx
jmp 0x18004b279
mov r8d, 0x1fa0
cmp ax, r8w
jge 0x18004b279
sub ax, dx
movsx r12d, ax
movsx eax, word [rsp + 0x44]
imul r12d, eax
mov dword [rsp + 0x2c], r12d
mov eax, r12d
sar eax, 0xc
mov word [rsp + 0x44], ax
mov rax, qword [rbp - 0x38]
cmp word [rax], 0
je 0x18004b288
mov word [rsp + 0x44], cx
movzx r10d, cx
lea r11, [rbp + 0x28]
mov edx, ecx
movzx r8d, cx
cmp cx, r13w
jge 0x18004b2d4
movsx eax, r13w
movzx r9d, r10w
imul r9d, eax
nop dword [rax + rax]
movzx eax, r8w
add eax, r9d
cdqe
movsx ecx, word [r15 + rax*2]
imul ecx, ecx
cmp ecx, edx
cmovle ecx, edx
mov edx, ecx
inc r8w
cmp r8w, r13w
jl 0x18004b2b0
xor ecx, ecx
mov dword [r11], edx
inc r10w
add r11, 4
cmp r10w, 0xa
jl 0x18004b290
mov eax, dword [r14 + 8]
mov dword [rbp - 8], eax
jmp 0x18004b1bd
cmp eax, 0x300
ja 0x18004b7eb
je 0x18004b7c3
sub eax, 0x1d8
je 0x18004b5fe
sub eax, 0x4a
je 0x18004b5c8
sub eax, 0x4a
je 0x18004b571
cmp eax, 0x4a
jne 0x18004b1d0
mov edx, dword [rsp + 0x70]
test dx, dx
jns 0x18004b337
movzx eax, cx
jmp 0x18004b358
movsx eax, word [r14 + 0x8c]
imul r12d, eax, 7
mov dword [rsp + 0x2c], r12d
movsx edx, dx
add edx, r12d
sar edx, 3
mov dword [rsp + 0x70], edx
movzx eax, dx
mov word [r14 + 0x8c], ax
test dx, dx
jle 0x18004b3da
mov r8d, 0x9c4
cmp dx, r8w
jge 0x18004b37c
movsx eax, dx
mov ecx, r8d
sub ecx, eax
sar ecx, 5
mov edx, dword [r14 + 0xc]
movsx r8d, cx
add r8d, 0xb2
lea rcx, [rbp - 4]
mov r10d, 0xa
mov r9d, r10d
nop dword [rax + rax]
mov r12d, dword [rcx]
sub r12d, edx
cmp r12d, 0x800000
jle 0x18004b3b9
sar r12d, 8
imul r12d, r8d
jmp 0x18004b3c1
imul r12d, r8d
sar r12d, 8
mov dword [rsp + 0x2c], r12d
lea eax, [rdx + r12]
mov dword [rcx], eax
add rcx, 4
sub r9, 1
jne 0x18004b3a0
xor ecx, ecx
jmp 0x18004b3e0
mov r10d, 0xa
movzx r14d, cx
mov r15, rcx
mov ebx, dword [rsp + 0x28]
mov r13d, 0x7fff
mov r12d, 0x10
nop word [rax + rax]
mov edi, 0x79
cmp edi, 0x79
je 0x18004b4d5
cmp edi, 0x19ff
je 0x18004b4d0
cmp edi, 0x3385
jne 0x18004b509
movsx r10d, bx
lea ecx, [r10 + r10]
mov edx, 0x16
sub edx, ecx
mov r8d, dword [rbp + r15 + 0x28]
add ecx, 0xffffffea
mov eax, r13d
sar eax, cl
mov ecx, edx
mov r9d, r13d
shl r9d, cl
test edx, edx
cmovs r9d, eax
sar r8d, 0xc
inc r8d
nop word [rax + rax]
mov ecx, esi
and ecx, 0x1fff
imul ecx, r8d
sar ecx, 0xd
mov eax, esi
sar eax, 0xd
imul eax, r8d
add ecx, eax
cmp ecx, r9d
jle 0x18004b509
movzx ecx, r14w
mov eax, dword [rbp + rcx*4 - 4]
cmp eax, 0x7fffff
jle 0x18004b4b1
cdq
movzx edx, dl
add eax, edx
sar eax, 8
imul esi, eax, 0xfd
mov dword [rbp + rcx*4 - 4], esi
mov ecx, r10d
sar esi, cl
inc esi
imul esi, esi
jmp 0x18004b460
imul eax, eax, 0xfd
cdq
movzx esi, dl
add esi, eax
sar esi, 8
mov dword [rbp + rcx*4 - 4], esi
mov ecx, r10d
sar esi, cl
inc esi
imul esi, esi
jmp 0x18004b460
imul esi, esi
jmp 0x18004b509
movzx ebx, r10w
mov esi, dword [rbp + r15 - 4]
cmp esi, 0x2d413cc
jle 0x18004b502
mov dword [rsp + 0x38], esi
xor edx, edx
mov r8d, 0x10e
lea rcx, [rsp + 0x38]
call fcn.1800348d0
mov ebx, r12d
sub bx, ax
movzx ecx, bl
sar esi, cl
inc esi
add edi, 0x1986
cmp edi, 0x4c92
mov r10d, 0xa
jbe 0x18004b405
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x38], esi
inc r14w
add r15, 4
cmp r14w, r10w
jl 0x18004b400
mov rbx, qword [rbp - 0x80]
mov r12d, dword [rsp + 0x2c]
mov r13d, dword [rsp + 0x30]
lea rcx, [rbp - 4]
lea r9d, [r10 - 1]
mov r8d, dword [rbp - 4]
mov eax, dword [rcx + 4]
cmp r8d, eax
jle 0x18004b55f
mov dword [rcx], eax
add rcx, 4
sub r9, 1
mov r8d, eax
jne 0x18004b555
jmp 0x18004b1b1
mov r10d, dword [rsp + 0x50]
movzx ecx, r10b
mov r12d, dword [r14 + 4]
shl r12d, cl
btr r12d, 0x1f
mov dword [rsp + 0x2c], r12d
mov ecx, r12d
shr ecx, 0x16
mov eax, 0x200
cwde
movsx r10d, r10w
imul r10d, eax
sub r10w, cx
mov dword [rsp + 0x50], r10d
movzx eax, r10w
sub ax, word [r14 + 0xc4]
sub ax, dx
mov ecx, 0x3e8
add ax, cx
mov dword [rsp + 0x70], eax
jmp 0x18004b1d0
mov eax, dword [r14 + 4]
mov dword [rsp + 0x50], eax
lea r8, [rsp + 0x50]
mov edx, 0x120
xor ecx, ecx
call fcn.180033e40
mov dword [rsp + 0x50], eax
cmp dword [r14 + 4], 0
jne 0x18004b1bd
mov eax, 0x1f
mov dword [rsp + 0x50], eax
jmp 0x18004b1bd
mov r14, rcx
mov qword [rsp + 0x78], 0xa
mov rbx, qword [rbp - 0x78]
mov r13d, dword [rsp + 0x44]
mov esi, 0x1f
nop dword [rax + rax]
mov edi, 0xf4
mov r15d, dword [rsp + 0x68]
nop word [rax + rax]
cmp edi, 0xf4
je 0x18004b6ed
cmp edi, 0x43ac
je 0x18004b6be
cmp edi, 0x8664
je 0x18004b693
cmp edi, 0xc91c
je 0x18004b678
cmp edi, 0x10bd4
jne 0x18004b75e
movsx rax, dx
mov ecx, r12d
sar ecx, 0xc
add ecx, dword [rbx + rax*4 + 0xc]
mov dword [rbp + r14 - 4], ecx
jmp 0x18004b75e
movsx rax, dx
mov r12d, dword [rbx + rax*4 + 8]
sub r12d, dword [rbx + rax*4 + 0xc]
movsx eax, r9w
imul r12d, eax
jmp 0x18004b75e
test r15d, r15d
jne 0x18004b69f
movzx edx, si
mov dword [rsp + 0x28], edx
movzx ecx, dl
mov r12d, r15d
shl r12d, cl
btr r12d, 0x1f
mov r9d, r12d
shr r9d, 0x13
mov dword [rsp + 0x34], r9d
jmp 0x18004b75e
mov r15d, dword [rbx + 4]
cmp r15d, dword [rbx]
cmovle r15d, dword [rbx]
mov dword [rsp + 0x68], r15d
lea r8, [rsp + 0x68]
mov edx, 0x120
xor ecx, ecx
call fcn.180033e40
movzx edx, ax
mov dword [rsp + 0x28], edx
mov r9d, dword [rsp + 0x34]
jmp 0x18004b75e
mov r8d, dword [rbx + 4]
movzx eax, r8w
imul edx, eax, 0xfffffc18
sar edx, 0x10
mov eax, r8d
sar eax, 0x10
imul ecx, eax, 0x3e8
sub edx, ecx
lea eax, [rdx + r8]
mov ecx, dword [rbp + r14 + 0x28]
cmp ecx, eax
cmovg eax, ecx
mov dword [rbx + 4], eax
mov r8d, dword [rbx]
cmp ecx, r8d
jle 0x18004b73c
sub ecx, r8d
movzx eax, cx
imul eax, eax, 0x1f4
sar ecx, 0x10
imul ecx, ecx, 0x1f4
jmp 0x18004b750
movsx edx, r13w
movzx eax, r8w
imul eax, edx
mov ecx, r8d
sar ecx, 0x10
imul ecx, edx
sar eax, 0x10
add eax, r8d
add ecx, eax
mov edx, dword [rsp + 0x28]
mov dword [rbx], ecx
add edi, 0x42b8
cmp edi, 0x14d98
jbe 0x18004b630
mov dword [rsp + 0x68], r15d
mov dword [rsp + 0x2c], r12d
add r14, 4
sub qword [rsp + 0x78], 1
jne 0x18004b620
mov rbx, qword [rbp - 0x80]
mov esi, dword [rsp + 0x38]
mov r13d, dword [rsp + 0x30]
mov eax, 0x200
cwde
movsx edx, dx
imul edx, eax
movzx eax, r9w
sar ax, 3
sub dx, ax
mov dword [rsp + 0x28], edx
mov r14, qword [rbp - 0x78]
mov r15, qword [rbp - 0x48]
mov rdi, qword [rbp - 0x58]
jmp 0x18004b1c6
mov eax, dword [rbp + 0x20]
mov dword [r14 + 8], eax
mov r8d, dword [rbp - 4]
sub r8d, dword [rbp - 8]
movsx eax, word [rsp + 0x60]
mov ecx, 4
sub ecx, eax
shl r8d, cl
mov dword [rsp + 0x64], r8d
jmp 0x18004b1cb
sub eax, 0x34a
je 0x18004b885
sub eax, 0x4a
je 0x18004af27
cmp eax, 0x4a
je 0x18004aec0
jmp 0x18004b1d0
movsx eax, r13w
mov ecx, r10d
imul ecx, eax
movzx eax, r9w
add eax, ecx
cdqe
movsx r12d, word [r15 + rax*2]
mov eax, esi
sar eax, 4
imul r12d, eax
add r8d, 0x3598
cmp r8d, 0x6b30
jbe 0x18004af96
mov dword [rsp + 0x2c], r12d
mov dword [rsp + 0x38], esi
inc r9w
cmp r9w, r13w
jl 0x18004af90
movzx r11d, word [rsp + 0x20]
mov r14d, dword [rsp + 0x78]
inc r11w
mov word [rsp + 0x20], r11w
add rdi, 4
cmp r11w, 0xa
jl 0x18004af50
mov rbx, qword [rbp - 0x80]
jmp 0x18004b1b5
mov esi, dword [rbp - 8]
shl esi, 4
mov dword [rsp + 0x38], esi
cmp cx, r13w
jge 0x18004b1d0
mov rdx, r15
mov r9, rdi
sub r9, r15
movzx r10d, r13w
mov qword [rsp + 0x78], r10
mov r14d, dword [rsp + 0x64]
mov rbx, qword [rsp + 0x58]
mov r13d, 0x7fff
nop dword [rax + rax]
mov r8d, 0x107
mov r10d, 0xffff8000
nop dword [rax]
mov eax, r8d
sub eax, 0x107
je 0x18004b981
cmp eax, 1
jne 0x18004b997
cmp r11d, 0xfff
jle 0x18004b8f6
movzx eax, r13w
jmp 0x18004b918
cmp r11d, 0xfffff000
jge 0x18004b904
mov eax, r10d
jmp 0x18004b918
mov r12d, esi
sar r12d, 4
movsx eax, word [rdx]
imul r12d, eax
mov eax, r12d
sar eax, 0x10
mov rcx, rdx
sub rcx, r15
mov word [rdx], ax
cmp dword [rbx], 0x7d00
jne 0x18004b97c
movsx eax, word [r9 + rdx]
lea r12d, [rsi + 0x7f]
sar r12d, 7
imul r12d, eax
mov r11d, r12d
sar r11d, 0x10
cmp r11d, 0xfff
jle 0x18004b954
mov word [r9 + rdx], r13w
add esi, r14d
jmp 0x18004b997
cmp r11d, 0xfffff000
jge 0x18004b967
mov word [rcx + rdi], r10w
add esi, r14d
jmp 0x18004b997
mov r12d, esi
sar r12d, 4
imul r12d, eax
mov eax, r12d
sar eax, 0x10
mov word [rcx + rdi], ax
add esi, r14d
jmp 0x18004b997
lea r12d, [rsi + 0x7f]
sar r12d, 7
movsx eax, word [rdx]
imul r12d, eax
mov r11d, r12d
sar r11d, 0x10
inc r8d
cmp r8d, 0x109
jb 0x18004b8d0
mov dword [rsp + 0x40], r11d
mov dword [rsp + 0x2c], r12d
mov dword [rsp + 0x38], esi
add rdx, 2
sub qword [rsp + 0x78], 1
jne 0x18004b8c0
mov rbx, qword [rbp - 0x80]
mov r13d, dword [rsp + 0x30]
mov r14, qword [rbp - 0x78]
mov edx, dword [rsp + 0x28]
mov r9d, dword [rsp + 0x34]
jmp 0x18004b1cb
lea r9, [0x180079970]
mov r8d, 0x1c
lea rdx, [0x180079960]
lea rcx, [rbp - 0x30]
call fcn.18001b550
mov byte [rsp + 0x30], al
jmp 0x18004aeb8
mov ecx, 0xffffffff
jmp 0x18004aebc
call fcn.1800504dc
mov rcx, qword [rbp - 0x70]
mov eax, ecx
mov rcx, qword [rbp + 0x50]
xor rcx, rsp
call fcn.180050c90
lea r11, [rsp + 0x1a0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret