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

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xe0
mov rdi, rcx
mov r13, qword [rcx + 8]
test r13, r13
je 0x18003b7f5
mov rbx, qword [rcx + 0x10]
test rbx, rbx
je 0x18003b7f5
mov eax, dword [rcx + 0x20]
cmp eax, 5
je 0x18003ae8e
cmp eax, 7
je 0x18003ac5a
cmp eax, 0x80000005
je 0x18003a34a
cmp eax, 0x80000006
je 0x180039a0a
cmp eax, 0x80000007
je 0x1800390cc
mov dword [rcx + 0x1c], 0xf
jmp 0x18003b7f5
movups xmm0, xmmword [rbx + 4]
movups xmmword [r13 + 4], xmm0
movups xmm0, xmmword [rbx + 0x14]
movups xmmword [r13 + 0x14], xmm0
mov eax, dword [rbx + 0x24]
mov dword [r13 + 0x24], eax
mov eax, dword [rbx + 0x28]
mov dword [r13 + 0x28], eax
mov eax, dword [rbx + 0x2c]
mov dword [r13 + 0x2c], eax
mov eax, dword [rbx + 0x30]
mov dword [r13 + 0x30], eax
mov eax, dword [rbx + 0x34]
mov dword [r13 + 0x34], eax
mov eax, dword [rbx + 0x38]
mov dword [r13 + 0x38], eax
mov eax, dword [rbx + 0x3c]
mov dword [r13 + 0x3c], eax
mov eax, dword [rbx + 0x40]
mov dword [r13 + 0x40], eax
mov ecx, dword [r13 + 0x44]
xor ecx, dword [rbx + 0x44]
and ecx, 1
xor ecx, dword [r13 + 0x44]
mov dword [r13 + 0x44], ecx
mov eax, ecx
xor eax, dword [rbx + 0x44]
and eax, 2
xor ecx, eax
mov dword [r13 + 0x44], ecx
mov eax, ecx
xor eax, dword [rbx + 0x44]
and eax, 4
xor ecx, eax
mov dword [r13 + 0x44], ecx
mov eax, ecx
xor eax, dword [rbx + 0x44]
and eax, 8
xor ecx, eax
mov dword [r13 + 0x44], ecx
mov eax, dword [rbx + 0x44]
add eax, eax
xor eax, ecx
and eax, 0x20
xor ecx, eax
mov dword [r13 + 0x44], ecx
mov eax, dword [rbx + 0x44]
add eax, eax
xor eax, ecx
and eax, 0x3c0
xor ecx, eax
mov dword [r13 + 0x44], ecx
mov eax, dword [rbx + 0x44]
shl eax, 4
xor eax, ecx
and eax, 0x2000
xor ecx, eax
mov dword [r13 + 0x44], ecx
mov eax, dword [rbx + 0x44]
shl eax, 4
xor eax, ecx
and eax, 0x4000
xor ecx, eax
mov dword [r13 + 0x44], ecx
mov eax, dword [rbx + 0x44]
shl eax, 4
xor eax, ecx
and eax, 0x8000
xor ecx, eax
mov dword [r13 + 0x44], ecx
mov eax, dword [rbx + 0x44]
shl eax, 4
xor eax, ecx
and eax, 0x10000
xor eax, ecx
mov dword [r13 + 0x44], eax
mov eax, dword [rbx + 0x48]
mov dword [r13 + 0x48], eax
mov rax, qword [rbx + 0x50]
mov qword [r13 + 0x50], rax
mov eax, dword [rbx + 0x60]
mov dword [r13 + 0x60], eax
mov eax, dword [rbx + 0x64]
mov dword [r13 + 0x64], eax
movups xmm0, xmmword [rbx + 0x68]
movups xmmword [r13 + 0x68], xmm0
movups xmm1, xmmword [rbx + 0x78]
movups xmmword [r13 + 0x78], xmm1
mov eax, dword [rbx + 0x88]
mov dword [r13 + 0x88], eax
mov eax, dword [rbx + 0x8c]
mov dword [r13 + 0x8c], eax
mov eax, dword [rbx + 0x90]
mov dword [r13 + 0x90], eax
mov eax, dword [rbx + 0x94]
mov dword [r13 + 0x94], eax
mov eax, dword [rbx + 0x44]
shr eax, 3
and al, 1
mov byte [rdi + 0x49], al
cmp qword [rbx + 0x58], 0
je 0x18003b7f5
mov edx, 0x1408
mov rcx, rdi
call fcn.180037840
mov qword [r13 + 0x58], rax
mov rdi, qword [rbx + 0x58]
xor esi, esi
mov r12d, esi
mov qword [rbp - 0x11], 1
mov ecx, 1
mov dword [rbp + 0x6f], ecx
mov r14d, esi
mov qword [rbp - 0x21], rsi
mov qword [rbp - 0x19], rdi
mov r15d, esi
mov qword [rbp - 0x29], rsi
movups xmm0, xmmword [rbx + 4]
movaps xmmword [rbp - 0x59], xmm0
movups xmmword [rbp + 0xb], xmm0
test rdi, rdi
je 0x1800392ea
movzx ebx, byte [rdi + 2]
mov eax, dword [rdi]
and eax, 0x80000000
or ebx, eax
mov dword [rbp - 9], ebx
mov r8d, dword [rdi]
mov eax, r8d
shr eax, 0x18
and eax, 0x7f
mov edx, eax
and edx, 0xf
shr eax, 4
test eax, eax
je 0x1800392be
cmp eax, 6
je 0x1800392be
cmp eax, 5
jbe 0x1800392c3
movzx eax, r8w
jmp 0x1800392c3
mov eax, 0xffffffff
shl eax, 4
or eax, edx
mov dword [rbp - 1], eax
mov dword [rbp + 0x1b], esi
mov word [rbp + 0x20], si
mov dword [rbp - 5], 9
mov dword [rbp + 3], 0xc2
test r8d, r8d
jns 0x180039307
movzx edx, cl
jmp 0x180039309
mov ebx, esi
mov dword [rbp - 9], ebx
mov qword [rbp - 5], 9
mov dword [rbp + 0x1b], esi
mov word [rbp + 0x20], bx
mov dword [rbp + 3], 0xc2
mov eax, esi
xor dl, dl
mov byte [rbp + 7], dl
mov byte [rbp + 0x1f], sil
cmp eax, 0xc2
ja 0x180039466
cmp bl, 9
ja 0x180039466
cmp ebx, 9
jne 0x180039339
test dl, dl
jne 0x180039339
mov r14, rdi
mov qword [rbp - 0x21], rdi
jmp 0x1800393ee
lea rdx, [0x1800cf550]
mov ecx, 0x1408
call fcn.180067294
mov r14, rax
lea rdx, [0x1800cf550]
mov ecx, 0x10
call fcn.180067278
test r14, r14
je 0x1800393c2
mov rcx, r14
test rax, rax
je 0x1800393bb
mov qword [rax], r14
mov qword [rax + 8], rsi
mov r15, rax
mov qword [rbp - 0x29], rax
mov qword [rbp - 0x21], r14
xor edx, edx
mov r8d, 0x1408
call fcn.180069880
test rdi, rdi
je 0x1800393e5
lea rcx, [rbp - 0x29]
call fcn.1800381c0
movups xmm0, xmmword [rbp + 0xb]
movaps xmmword [rbp - 0x59], xmm0
mov ebx, dword [rbp - 9]
mov r12d, dword [rbp - 0xd]
mov ecx, dword [rbp - 0x11]
mov dword [rbp + 0x6f], ecx
mov rdi, qword [rbp - 0x19]
mov r14, qword [rbp - 0x21]
mov r15, qword [rbp - 0x29]
jmp 0x1800393ee
call fcn.180066e24
jmp 0x1800393d4
test rax, rax
je 0x1800393d4
mov edx, 0x10
mov rcx, rax
call fcn.180066b1c
mov r14, rsi
mov qword [rbp - 0x21], rsi
mov r12d, 0xa
mov dword [rbp - 0xd], r12d
mov ecx, 1
movaps xmm0, xmmword [rbp - 0x59]
test r12d, r12d
je 0x1800396fa
mov rax, qword [rbp + 0x67]
mov dword [rax + 0x1c], 0xf
test r14, r14
je 0x1800396be
cmp r14, rdi
je 0x1800396be
test rdi, rdi
je 0x1800396ba
lea eax, [rcx - 2]
cmp eax, 1
ja 0x1800396ba
cmp ebx, 0x80000006
ja 0x1800394ac
je 0x18003948f
cmp ebx, 6
je 0x180039475
cmp ebx, 7
je 0x1800395d4
cmp ebx, 9
je 0x180039475
cmp ebx, 0x80000005
jne 0x1800394cc
movaps xmmword [rbp - 0x59], xmm0
lea r8, [rbp - 0x59]
mov rdx, rdi
mov rcx, r14
call fcn.180040290
jmp 0x1800396ba
mov r12d, 0xf
mov dword [rbp - 0xd], r12d
jmp 0x1800393ee
mov ebx, dword [rdi]
mov r8d, 0x1408
mov rdx, r14
mov rcx, rdi
call fcn.180069a90
mov dword [rdi], ebx
jmp 0x1800396ba
movaps xmmword [rbp - 0x59], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x59]
mov rdx, rdi
mov rcx, r14
call fcn.180040b60
jmp 0x1800396ba
cmp ebx, 0x80000007
je 0x180039695
cmp ebx, 0x80000008
je 0x1800395d4
cmp ebx, 0x80000009
je 0x1800394d8
mov dword [rbp - 0xd], 0xf
jmp 0x1800396ba
movaps xmmword [rbp - 0x49], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x49]
mov rdx, rdi
mov rcx, r14
call fcn.180040b60
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
movups xmm0, xmmword [0x1800cece8]
movaps xmmword [rbp - 0x39], xmm0
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x49], xmm1
movq rcx, xmm1
movq rax, xmm0
cmp rcx, rax
jne 0x18003957a
mov rax, qword [rbp - 0x41]
cmp rax, qword [rbp - 0x31]
jne 0x18003957a
mov eax, dword [r14 + 0x168]
mov dword [rdi + 0x168], eax
mov eax, dword [r14 + 0x18]
mov dword [rdi + 0x18], eax
movzx eax, word [r14 + 0x82]
mov word [rdi + 0x82], ax
mov eax, dword [r14 + 0x4c]
xor eax, dword [rdi + 0x4c]
and eax, 0x20
xor dword [rdi + 0x4c], eax
mov eax, dword [r14 + 0x2c]
mov dword [rdi + 0x2c], eax
mov eax, dword [r14 + 0xb0]
mov dword [rdi + 0xb0], eax
mov eax, dword [r14 + 0x98]
mov dword [rdi + 0x98], eax
movups xmm0, xmmword [0x1800cecf8]
movaps xmmword [rbp - 0x49], xmm0
movaps xmmword [rbp - 0x39], xmm1
movq rcx, xmm1
movq rax, xmm0
cmp rcx, rax
jne 0x1800396ba
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x1800396ba
mov rdx, rdi
mov rcx, r14
call fcn.18003f8f0
mov eax, dword [r14 + 0x228]
mov dword [rdi + 0x11c], eax
mov eax, dword [r14 + 0x224]
mov dword [rdi + 0x118], eax
jmp 0x1800396ba
movaps xmmword [rbp - 0x39], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040b60
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
movups xmm0, xmmword [0x1800cecf8]
movaps xmmword [rbp - 0x49], xmm0
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
movq rcx, xmm1
movq rax, xmm0
cmp rcx, rax
jne 0x1800396ba
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x1800396ba
mov rdx, rdi
mov rcx, r14
call fcn.18003f8f0
mov ecx, dword [r14 + 0x228]
lea eax, [rcx - 8]
mov r8d, esi
cmp ecx, 8
cmovge r8d, eax
shl r8d, 0xc
xor r8d, dword [rdi + 0xb8]
and r8d, 0x7000
xor r8d, dword [rdi + 0xb8]
mov dword [rdi + 0xb8], r8d
mov ecx, dword [r14 + 0x224]
lea eax, [rcx - 8]
mov edx, esi
cmp ecx, 8
cmovge edx, eax
shl edx, 0xf
xor edx, r8d
and edx, 0x38000
xor edx, r8d
mov dword [rdi + 0xb8], edx
jmp 0x1800396ba
movaps xmmword [rbp - 0x39], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040b60
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
mov qword [rbp - 0x21], rsi
test r15, r15
je 0x18003b7f5
nop word [rax + rax]
mov rbx, qword [r15 + 8]
mov rcx, qword [r15]
call fcn.180066e24
mov edx, 0x10
mov rcx, r15
call fcn.180066b1c
mov r15, rbx
mov qword [rbp - 0x29], rbx
test rbx, rbx
jne 0x1800396d0
jmp 0x18003b7f5
mov r8d, 0x1408
mov rdx, r14
mov rcx, qword [r13 + 0x58]
call fcn.180069a90
nop
test r14, r14
je 0x1800399d1
cmp r14, rdi
je 0x1800399d1
test rdi, rdi
je 0x1800399cd
mov eax, dword [rbp + 0x6f]
add eax, 0xfffffffe
cmp eax, 1
ja 0x1800399cd
cmp ebx, 0x80000006
ja 0x1800397b3
je 0x180039792
cmp ebx, 6
je 0x180039778
cmp ebx, 7
je 0x1800398df
cmp ebx, 9
je 0x180039778
cmp ebx, 0x80000005
jne 0x1800397d3
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040290
jmp 0x1800399cd
mov ebx, dword [rdi]
mov r8d, 0x1408
mov rdx, r14
mov rcx, rdi
call fcn.180069a90
mov dword [rdi], ebx
jmp 0x1800399cd
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040b60
jmp 0x1800399cd
cmp ebx, 0x80000007
je 0x1800399a4
cmp ebx, 0x80000008
je 0x1800398df
cmp ebx, 0x80000009
je 0x1800397df
mov dword [rbp - 0xd], 0xf
jmp 0x1800399cd
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040b60
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
movups xmm0, xmmword [0x1800cece8]
movaps xmmword [rbp - 0x49], xmm0
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
movq rcx, xmm1
movq rax, xmm0
cmp rcx, rax
jne 0x180039885
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x180039885
mov eax, dword [r14 + 0x168]
mov dword [rdi + 0x168], eax
mov eax, dword [r14 + 0x18]
mov dword [rdi + 0x18], eax
movzx eax, word [r14 + 0x82]
mov word [rdi + 0x82], ax
mov eax, dword [r14 + 0x4c]
xor eax, dword [rdi + 0x4c]
and eax, 0x20
xor dword [rdi + 0x4c], eax
mov eax, dword [r14 + 0x2c]
mov dword [rdi + 0x2c], eax
mov eax, dword [r14 + 0xb0]
mov dword [rdi + 0xb0], eax
mov eax, dword [r14 + 0x98]
mov dword [rdi + 0x98], eax
movups xmm0, xmmword [0x1800cecf8]
movaps xmmword [rbp - 0x49], xmm0
movaps xmmword [rbp - 0x39], xmm1
movq rcx, xmm1
movq rax, xmm0
cmp rcx, rax
jne 0x1800399cd
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x1800399cd
mov rdx, rdi
mov rcx, r14
call fcn.18003f8f0
mov eax, dword [r14 + 0x228]
mov dword [rdi + 0x11c], eax
mov eax, dword [r14 + 0x224]
mov dword [rdi + 0x118], eax
jmp 0x1800399cd
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040b60
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
movups xmm0, xmmword [0x1800cecf8]
movaps xmmword [rbp - 0x49], xmm0
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
movq rcx, xmm1
movq rax, xmm0
cmp rcx, rax
jne 0x1800399cd
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x1800399cd
mov rdx, rdi
mov rcx, r14
call fcn.18003f8f0
mov ecx, dword [r14 + 0x228]
lea eax, [rcx - 8]
mov r8d, esi
cmp ecx, 8
cmovge r8d, eax
shl r8d, 0xc
xor r8d, dword [rdi + 0xb8]
and r8d, 0x7000
xor r8d, dword [rdi + 0xb8]
mov dword [rdi + 0xb8], r8d
mov ecx, dword [r14 + 0x224]
lea eax, [rcx - 8]
mov edx, esi
cmp ecx, 8
cmovge edx, eax
shl edx, 0xf
xor edx, r8d
and edx, 0x38000
xor edx, r8d
mov dword [rdi + 0xb8], edx
jmp 0x1800399cd
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040b60
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
mov qword [rbp - 0x21], rsi
test r15, r15
je 0x18003b7f5
nop word [rax + rax]
mov rbx, qword [r15 + 8]
mov rcx, qword [r15]
call fcn.180066e24
mov edx, 0x10
mov rcx, r15
call fcn.180066b1c
mov r15, rbx
mov qword [rbp - 0x29], rbx
test rbx, rbx
jne 0x1800399e0
jmp 0x18003b7f5
movups xmm0, xmmword [rbx + 4]
movups xmmword [r13 + 4], xmm0
movups xmm0, xmmword [rbx + 0x14]
movups xmmword [r13 + 0x14], xmm0
mov eax, dword [rbx + 0x24]
mov dword [r13 + 0x24], eax
mov eax, dword [rbx + 0x28]
mov dword [r13 + 0x28], eax
mov eax, dword [rbx + 0x2c]
mov dword [r13 + 0x2c], eax
mov eax, dword [rbx + 0x30]
mov dword [r13 + 0x30], eax
mov eax, dword [rbx + 0x34]
mov dword [r13 + 0x34], eax
mov eax, dword [rbx + 0x38]
mov dword [r13 + 0x38], eax
mov eax, dword [rbx + 0x3c]
mov dword [r13 + 0x3c], eax
mov eax, dword [rbx + 0x40]
mov dword [r13 + 0x40], eax
mov ecx, dword [rbx + 0x44]
xor ecx, dword [r13 + 0x44]
and ecx, 1
xor ecx, dword [r13 + 0x44]
mov dword [r13 + 0x44], ecx
mov eax, ecx
xor eax, dword [rbx + 0x44]
and eax, 2
xor ecx, eax
mov dword [r13 + 0x44], ecx
mov eax, ecx
xor eax, dword [rbx + 0x44]
and eax, 4
xor ecx, eax
mov dword [r13 + 0x44], ecx
mov eax, ecx
xor eax, dword [rbx + 0x44]
and eax, 8
xor ecx, eax
mov dword [r13 + 0x44], ecx
mov eax, dword [rbx + 0x44]
add eax, eax
xor eax, ecx
and eax, 0x20
xor ecx, eax
mov dword [r13 + 0x44], ecx
mov eax, dword [rbx + 0x44]
add eax, eax
xor eax, ecx
and eax, 0x3c0
xor ecx, eax
mov dword [r13 + 0x44], ecx
mov eax, dword [rbx + 0x44]
shl eax, 4
xor eax, ecx
and eax, 0x2000
xor ecx, eax
mov dword [r13 + 0x44], ecx
mov eax, dword [rbx + 0x44]
shl eax, 4
xor eax, ecx
and eax, 0x4000
xor ecx, eax
mov dword [r13 + 0x44], ecx
mov eax, dword [rbx + 0x44]
shl eax, 4
xor eax, ecx
and eax, 0x8000
xor ecx, eax
mov dword [r13 + 0x44], ecx
mov eax, dword [rbx + 0x44]
shl eax, 4
xor eax, ecx
and eax, 0x10000
xor eax, ecx
mov dword [r13 + 0x44], eax
mov eax, dword [rbx + 0x48]
mov dword [r13 + 0x48], eax
mov rax, qword [rbx + 0x50]
mov qword [r13 + 0x50], rax
mov eax, dword [rbx + 0x60]
mov dword [r13 + 0x60], eax
mov eax, dword [rbx + 0x64]
mov dword [r13 + 0x64], eax
movups xmm0, xmmword [rbx + 0x68]
movups xmmword [r13 + 0x68], xmm0
movups xmm1, xmmword [rbx + 0x78]
movups xmmword [r13 + 0x78], xmm1
mov eax, dword [rbx + 0x88]
mov dword [r13 + 0x88], eax
mov eax, dword [rbx + 0x8c]
mov dword [r13 + 0x8c], eax
mov eax, dword [rbx + 0x90]
mov dword [r13 + 0x90], eax
mov eax, dword [rbx + 0x94]
mov dword [r13 + 0x94], eax
mov eax, dword [rbx + 0x44]
shr eax, 3
and al, 1
mov byte [rdi + 0x49], al
cmp qword [rbx + 0x58], 0
je 0x18003b7f5
mov edx, 0x1408
mov rcx, rdi
call fcn.180037840
mov qword [r13 + 0x58], rax
mov rdi, qword [rbx + 0x58]
xor esi, esi
mov r12d, esi
mov qword [rbp - 0x11], 1
mov ecx, 1
mov dword [rbp + 0x6f], ecx
mov r14d, esi
mov qword [rbp - 0x21], rsi
mov qword [rbp - 0x19], rdi
mov r15d, esi
mov qword [rbp - 0x29], rsi
movups xmm0, xmmword [rbx + 4]
movaps xmmword [rbp - 0x59], xmm0
movups xmmword [rbp + 0xb], xmm0
test rdi, rdi
je 0x180039c28
movzx ebx, byte [rdi + 2]
mov eax, dword [rdi]
and eax, 0x80000000
or ebx, eax
mov dword [rbp - 9], ebx
mov r8d, dword [rdi]
mov eax, r8d
shr eax, 0x18
and eax, 0x7f
mov edx, eax
and edx, 0xf
shr eax, 4
test eax, eax
je 0x180039bfc
cmp eax, 6
je 0x180039bfc
cmp eax, 5
jbe 0x180039c01
movzx eax, r8w
jmp 0x180039c01
mov eax, 0xffffffff
shl eax, 4
or eax, edx
mov dword [rbp - 1], eax
mov dword [rbp + 0x1b], esi
mov word [rbp + 0x20], si
mov dword [rbp - 5], 9
mov dword [rbp + 3], 0xc2
test r8d, r8d
jns 0x180039c45
movzx edx, cl
jmp 0x180039c47
mov ebx, esi
mov dword [rbp - 9], ebx
mov qword [rbp - 5], 9
mov dword [rbp + 0x1b], esi
mov word [rbp + 0x20], bx
mov dword [rbp + 3], 0xc2
mov eax, esi
xor dl, dl
mov byte [rbp + 7], dl
mov byte [rbp + 0x1f], sil
cmp eax, 0xc2
ja 0x180039da4
cmp bl, 9
ja 0x180039da4
cmp ebx, 9
jne 0x180039c77
test dl, dl
jne 0x180039c77
mov r14, rdi
mov qword [rbp - 0x21], rdi
jmp 0x180039d2c
lea rdx, [0x1800cf550]
mov ecx, 0x1408
call fcn.180067294
mov r14, rax
lea rdx, [0x1800cf550]
mov ecx, 0x10
call fcn.180067278
test r14, r14
je 0x180039d00
mov rcx, r14
test rax, rax
je 0x180039cf9
mov qword [rax], r14
mov qword [rax + 8], rsi
mov r15, rax
mov qword [rbp - 0x29], rax
mov qword [rbp - 0x21], r14
xor edx, edx
mov r8d, 0x1408
call fcn.180069880
test rdi, rdi
je 0x180039d23
lea rcx, [rbp - 0x29]
call fcn.1800381c0
movups xmm0, xmmword [rbp + 0xb]
movaps xmmword [rbp - 0x59], xmm0
mov ebx, dword [rbp - 9]
mov r12d, dword [rbp - 0xd]
mov ecx, dword [rbp - 0x11]
mov dword [rbp + 0x6f], ecx
mov rdi, qword [rbp - 0x19]
mov r14, qword [rbp - 0x21]
mov r15, qword [rbp - 0x29]
jmp 0x180039d2c
call fcn.180066e24
jmp 0x180039d12
test rax, rax
je 0x180039d12
mov edx, 0x10
mov rcx, rax
call fcn.180066b1c
mov r14, rsi
mov qword [rbp - 0x21], rsi
mov r12d, 0xa
mov dword [rbp - 0xd], r12d
mov ecx, 1
movaps xmm0, xmmword [rbp - 0x59]
test r12d, r12d
je 0x18003a03a
mov rax, qword [rbp + 0x67]
mov dword [rax + 0x1c], 0xf
test r14, r14
je 0x180039ffc
cmp r14, rdi
je 0x180039ffc
test rdi, rdi
je 0x180039ff8
lea eax, [rcx - 2]
cmp eax, 1
ja 0x180039ff8
cmp ebx, 0x80000006
ja 0x180039dea
je 0x180039dcd
cmp ebx, 6
je 0x180039db3
cmp ebx, 7
je 0x180039f12
cmp ebx, 9
je 0x180039db3
cmp ebx, 0x80000005
jne 0x180039e0a
movaps xmmword [rbp - 0x39], xmm0
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040290
jmp 0x180039ff8
mov r12d, 0xf
mov dword [rbp - 0xd], r12d
jmp 0x180039d2c
mov ebx, dword [rdi]
mov r8d, 0x1408
mov rdx, r14
mov rcx, rdi
call fcn.180069a90
mov dword [rdi], ebx
jmp 0x180039ff8
movaps xmmword [rbp - 0x39], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040b60
jmp 0x180039ff8
cmp ebx, 0x80000007
je 0x180039fd3
cmp ebx, 0x80000008
je 0x180039f12
cmp ebx, 0x80000009
je 0x180039e16
mov dword [rbp - 0xd], 0xf
jmp 0x180039ff8
movaps xmmword [rbp - 0x39], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040b60
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
movups xmm0, xmmword [0x1800cece8]
movaps xmmword [rbp - 0x49], xmm0
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
movq rcx, xmm1
movq rax, xmm0
cmp rcx, rax
jne 0x180039eb8
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x180039eb8
mov eax, dword [r14 + 0x168]
mov dword [rdi + 0x168], eax
mov eax, dword [r14 + 0x18]
mov dword [rdi + 0x18], eax
movzx eax, word [r14 + 0x82]
mov word [rdi + 0x82], ax
mov eax, dword [r14 + 0x4c]
xor eax, dword [rdi + 0x4c]
and eax, 0x20
xor dword [rdi + 0x4c], eax
mov eax, dword [r14 + 0x2c]
mov dword [rdi + 0x2c], eax
mov eax, dword [r14 + 0xb0]
mov dword [rdi + 0xb0], eax
mov eax, dword [r14 + 0x98]
mov dword [rdi + 0x98], eax
movups xmm0, xmmword [0x1800cecf8]
movaps xmmword [rbp - 0x49], xmm0
movaps xmmword [rbp - 0x39], xmm1
movq rcx, xmm1
movq rax, xmm0
cmp rcx, rax
jne 0x180039ff8
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x180039ff8
mov rdx, rdi
mov rcx, r14
call fcn.18003f8f0
mov eax, dword [r14 + 0x228]
mov dword [rdi + 0x11c], eax
mov eax, dword [r14 + 0x224]
mov dword [rdi + 0x118], eax
jmp 0x180039ff8
movaps xmmword [rbp - 0x39], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040b60
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
movups xmm0, xmmword [0x1800cecf8]
movaps xmmword [rbp - 0x49], xmm0
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
movq rcx, xmm1
movq rax, xmm0
cmp rcx, rax
jne 0x180039ff8
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x180039ff8
mov rdx, rdi
mov rcx, r14
call fcn.18003f8f0
mov ecx, dword [r14 + 0x228]
lea eax, [rcx - 8]
mov r8d, esi
cmp ecx, 8
cmovge r8d, eax
shl r8d, 0xc
xor r8d, dword [rdi + 0xb8]
and r8d, 0x7000
xor r8d, dword [rdi + 0xb8]
mov dword [rdi + 0xb8], r8d
mov ecx, dword [r14 + 0x224]
lea eax, [rcx - 8]
mov edx, esi
cmp ecx, 8
cmovge edx, eax
shl edx, 0xf
xor edx, r8d
and edx, 0x38000
xor edx, r8d
mov dword [rdi + 0xb8], edx
jmp 0x180039ff8
movaps xmmword [rbp - 0x39], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040b60
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
mov qword [rbp - 0x21], rsi
test r15, r15
je 0x18003b7f5
nop word [rax + rax]
mov rbx, qword [r15 + 8]
mov rcx, qword [r15]
call fcn.180066e24
mov edx, 0x10
mov rcx, r15
call fcn.180066b1c
mov r15, rbx
mov qword [rbp - 0x29], rbx
test rbx, rbx
jne 0x18003a010
jmp 0x18003b7f5
mov r8d, 0x1408
mov rdx, r14
mov rcx, qword [r13 + 0x58]
call fcn.180069a90
nop
test r14, r14
je 0x18003a311
cmp r14, rdi
je 0x18003a311
test rdi, rdi
je 0x18003a30d
mov eax, dword [rbp + 0x6f]
add eax, 0xfffffffe
cmp eax, 1
ja 0x18003a30d
cmp ebx, 0x80000006
ja 0x18003a0f3
je 0x18003a0d2
cmp ebx, 6
je 0x18003a0b8
cmp ebx, 7
je 0x18003a21f
cmp ebx, 9
je 0x18003a0b8
cmp ebx, 0x80000005
jne 0x18003a113
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040290
jmp 0x18003a30d
mov ebx, dword [rdi]
mov r8d, 0x1408
mov rdx, r14
mov rcx, rdi
call fcn.180069a90
mov dword [rdi], ebx
jmp 0x18003a30d
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040b60
jmp 0x18003a30d
cmp ebx, 0x80000007
je 0x18003a2e4
cmp ebx, 0x80000008
je 0x18003a21f
cmp ebx, 0x80000009
je 0x18003a11f
mov dword [rbp - 0xd], 0xf
jmp 0x18003a30d
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040b60
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
movups xmm0, xmmword [0x1800cece8]
movaps xmmword [rbp - 0x49], xmm0
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
movq rcx, xmm1
movq rax, xmm0
cmp rcx, rax
jne 0x18003a1c5
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003a1c5
mov eax, dword [r14 + 0x168]
mov dword [rdi + 0x168], eax
mov eax, dword [r14 + 0x18]
mov dword [rdi + 0x18], eax
movzx eax, word [r14 + 0x82]
mov word [rdi + 0x82], ax
mov eax, dword [r14 + 0x4c]
xor eax, dword [rdi + 0x4c]
and eax, 0x20
xor dword [rdi + 0x4c], eax
mov eax, dword [r14 + 0x2c]
mov dword [rdi + 0x2c], eax
mov eax, dword [r14 + 0xb0]
mov dword [rdi + 0xb0], eax
mov eax, dword [r14 + 0x98]
mov dword [rdi + 0x98], eax
movups xmm0, xmmword [0x1800cecf8]
movaps xmmword [rbp - 0x49], xmm0
movaps xmmword [rbp - 0x39], xmm1
movq rcx, xmm1
movq rax, xmm0
cmp rcx, rax
jne 0x18003a30d
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003a30d
mov rdx, rdi
mov rcx, r14
call fcn.18003f8f0
mov eax, dword [r14 + 0x228]
mov dword [rdi + 0x11c], eax
mov eax, dword [r14 + 0x224]
mov dword [rdi + 0x118], eax
jmp 0x18003a30d
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040b60
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
movups xmm0, xmmword [0x1800cecf8]
movaps xmmword [rbp - 0x49], xmm0
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
movq rcx, xmm1
movq rax, xmm0
cmp rcx, rax
jne 0x18003a30d
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003a30d
mov rdx, rdi
mov rcx, r14
call fcn.18003f8f0
mov ecx, dword [r14 + 0x228]
lea eax, [rcx - 8]
mov r8d, esi
cmp ecx, 8
cmovge r8d, eax
shl r8d, 0xc
xor r8d, dword [rdi + 0xb8]
and r8d, 0x7000
xor r8d, dword [rdi + 0xb8]
mov dword [rdi + 0xb8], r8d
mov ecx, dword [r14 + 0x224]
lea eax, [rcx - 8]
mov edx, esi
cmp ecx, 8
cmovge edx, eax
shl edx, 0xf
xor edx, r8d
and edx, 0x38000
xor edx, r8d
mov dword [rdi + 0xb8], edx
jmp 0x18003a30d
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040b60
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
mov qword [rbp - 0x21], rsi
test r15, r15
je 0x18003b7f5
nop word [rax + rax]
mov rbx, qword [r15 + 8]
mov rcx, qword [r15]
call fcn.180066e24
mov edx, 0x10
mov rcx, r15
call fcn.180066b1c
mov r15, rbx
mov qword [rbp - 0x29], rbx
test rbx, rbx
jne 0x18003a320
jmp 0x18003b7f5
movups xmm0, xmmword [rbx + 4]
movups xmmword [r13 + 4], xmm0
movups xmm0, xmmword [rbx + 0x14]
movups xmmword [r13 + 0x14], xmm0
mov eax, dword [rbx + 0x24]
mov dword [r13 + 0x24], eax
mov eax, dword [rbx + 0x28]
mov dword [r13 + 0x28], eax
mov eax, dword [rbx + 0x2c]
mov dword [r13 + 0x2c], eax
mov eax, dword [rbx + 0x30]
mov dword [r13 + 0x30], eax
mov eax, dword [rbx + 0x34]
mov dword [r13 + 0x34], eax
mov eax, dword [rbx + 0x38]
mov dword [r13 + 0x38], eax
mov eax, dword [rbx + 0x3c]
mov dword [r13 + 0x3c], eax
mov eax, dword [rbx + 0x40]
mov dword [r13 + 0x40], eax
mov ecx, dword [rbx + 0x44]
xor ecx, dword [r13 + 0x44]
and ecx, 1
xor ecx, dword [r13 + 0x44]
mov dword [r13 + 0x44], ecx
mov eax, ecx
xor eax, dword [rbx + 0x44]
and eax, 2
xor ecx, eax
mov dword [r13 + 0x44], ecx
mov eax, ecx
xor eax, dword [rbx + 0x44]
and eax, 4
xor ecx, eax
mov dword [r13 + 0x44], ecx
mov eax, ecx
xor eax, dword [rbx + 0x44]
and eax, 8
xor ecx, eax
mov dword [r13 + 0x44], ecx
mov eax, dword [rbx + 0x44]
add eax, eax
xor eax, ecx
and eax, 0x20
xor ecx, eax
mov dword [r13 + 0x44], ecx
mov eax, dword [rbx + 0x44]
shl eax, 8
xor eax, ecx
and eax, 0x2000
xor ecx, eax
mov dword [r13 + 0x44], ecx
mov eax, dword [rbx + 0x44]
shl eax, 8
xor eax, ecx
and eax, 0x4000
xor ecx, eax
mov dword [r13 + 0x44], ecx
mov eax, dword [rbx + 0x44]
shl eax, 8
xor eax, ecx
and eax, 0x8000
xor eax, ecx
mov dword [r13 + 0x44], eax
mov eax, dword [rbx + 0x48]
mov dword [r13 + 0x48], eax
mov rax, qword [rbx + 0x50]
mov qword [r13 + 0x50], rax
mov eax, dword [rbx + 0x60]
mov dword [r13 + 0x60], eax
mov eax, dword [rbx + 0x64]
mov dword [r13 + 0x64], eax
movups xmm0, xmmword [rbx + 0x68]
movups xmmword [r13 + 0x68], xmm0
movups xmm1, xmmword [rbx + 0x78]
movups xmmword [r13 + 0x78], xmm1
mov eax, dword [rbx + 0x88]
mov dword [r13 + 0x88], eax
mov eax, dword [rbx + 0x8c]
mov dword [r13 + 0x8c], eax
mov eax, dword [rbx + 0x90]
mov dword [r13 + 0x90], eax
mov eax, dword [rbx + 0x94]
mov dword [r13 + 0x94], eax
mov eax, dword [rbx + 0x44]
shr eax, 3
and al, 1
mov byte [rdi + 0x49], al
cmp qword [rbx + 0x58], 0
je 0x18003b7f5
mov edx, 0x1408
mov rcx, rdi
call fcn.180037840
mov qword [r13 + 0x58], rax
mov rdi, qword [rbx + 0x58]
xor esi, esi
mov r12d, esi
mov qword [rbp - 0x11], 1
mov ecx, 1
mov dword [rbp + 0x6f], ecx
mov r14d, esi
mov qword [rbp - 0x21], rsi
mov qword [rbp - 0x19], rdi
mov r15d, esi
mov qword [rbp - 0x29], rsi
movups xmm0, xmmword [rbx + 4]
movaps xmmword [rbp - 0x59], xmm0
movups xmmword [rbp + 0xb], xmm0
test rdi, rdi
je 0x18003a543
movzx ebx, byte [rdi + 2]
mov eax, dword [rdi]
and eax, 0x80000000
or ebx, eax
mov dword [rbp - 9], ebx
mov r8d, dword [rdi]
mov eax, r8d
shr eax, 0x18
and eax, 0x7f
mov edx, eax
and edx, 0xf
shr eax, 4
test eax, eax
je 0x18003a517
cmp eax, 6
je 0x18003a517
cmp eax, 5
jbe 0x18003a51c
movzx eax, r8w
jmp 0x18003a51c
mov eax, 0xffffffff
shl eax, 4
or eax, edx
mov dword [rbp - 1], eax
mov dword [rbp + 0x1b], esi
mov word [rbp + 0x20], si
mov dword [rbp - 5], 9
mov dword [rbp + 3], 0xc2
test r8d, r8d
jns 0x18003a560
movzx edx, cl
jmp 0x18003a562
mov ebx, esi
mov dword [rbp - 9], ebx
mov qword [rbp - 5], 9
mov dword [rbp + 0x1b], esi
mov word [rbp + 0x20], bx
mov dword [rbp + 3], 0xc2
mov eax, esi
xor dl, dl
mov byte [rbp + 7], dl
mov byte [rbp + 0x1f], sil
cmp eax, 0xc2
ja 0x18003a6bf
cmp bl, 9
ja 0x18003a6bf
cmp ebx, 9
jne 0x18003a592
test dl, dl
jne 0x18003a592
mov r14, rdi
mov qword [rbp - 0x21], rdi
jmp 0x18003a647
lea rdx, [0x1800cf550]
mov ecx, 0x1408
call fcn.180067294
mov r14, rax
lea rdx, [0x1800cf550]
mov ecx, 0x10
call fcn.180067278
test r14, r14
je 0x18003a61b
mov rcx, r14
test rax, rax
je 0x18003a614
mov qword [rax], r14
mov qword [rax + 8], rsi
mov r15, rax
mov qword [rbp - 0x29], rax
mov qword [rbp - 0x21], r14
xor edx, edx
mov r8d, 0x1408
call fcn.180069880
test rdi, rdi
je 0x18003a63e
lea rcx, [rbp - 0x29]
call fcn.1800381c0
movups xmm0, xmmword [rbp + 0xb]
movaps xmmword [rbp - 0x59], xmm0
mov ebx, dword [rbp - 9]
mov r12d, dword [rbp - 0xd]
mov ecx, dword [rbp - 0x11]
mov dword [rbp + 0x6f], ecx
mov rdi, qword [rbp - 0x19]
mov r14, qword [rbp - 0x21]
mov r15, qword [rbp - 0x29]
jmp 0x18003a647
call fcn.180066e24
jmp 0x18003a62d
test rax, rax
je 0x18003a62d
mov edx, 0x10
mov rcx, rax
call fcn.180066b1c
mov r14, rsi
mov qword [rbp - 0x21], rsi
mov r12d, 0xa
mov dword [rbp - 0xd], r12d
mov ecx, 1
movaps xmm0, xmmword [rbp - 0x59]
test r12d, r12d
je 0x18003a94a
mov rax, qword [rbp + 0x67]
mov dword [rax + 0x1c], 0xf
test r14, r14
je 0x18003a917
cmp r14, rdi
je 0x18003a917
test rdi, rdi
je 0x18003a913
lea eax, [rcx - 2]
cmp eax, 1
ja 0x18003a913
cmp ebx, 0x80000006
ja 0x18003a705
je 0x18003a6e8
cmp ebx, 6
je 0x18003a6ce
cmp ebx, 7
je 0x18003a82d
cmp ebx, 9
je 0x18003a6ce
cmp ebx, 0x80000005
jne 0x18003a725
movaps xmmword [rbp - 0x39], xmm0
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040290
jmp 0x18003a913
mov r12d, 0xf
mov dword [rbp - 0xd], r12d
jmp 0x18003a647
mov ebx, dword [rdi]
mov r8d, 0x1408
mov rdx, r14
mov rcx, rdi
call fcn.180069a90
mov dword [rdi], ebx
jmp 0x18003a913
movaps xmmword [rbp - 0x39], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040b60
jmp 0x18003a913
cmp ebx, 0x80000007
je 0x18003a8ee
cmp ebx, 0x80000008
je 0x18003a82d
cmp ebx, 0x80000009
je 0x18003a731
mov dword [rbp - 0xd], 0xf
jmp 0x18003a913
movaps xmmword [rbp - 0x39], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040b60
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
movups xmm0, xmmword [0x1800cece8]
movaps xmmword [rbp - 0x49], xmm0
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
movq rcx, xmm1
movq rax, xmm0
cmp rcx, rax
jne 0x18003a7d3
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003a7d3
mov eax, dword [r14 + 0x168]
mov dword [rdi + 0x168], eax
mov eax, dword [r14 + 0x18]
mov dword [rdi + 0x18], eax
movzx eax, word [r14 + 0x82]
mov word [rdi + 0x82], ax
mov eax, dword [r14 + 0x4c]
xor eax, dword [rdi + 0x4c]
and eax, 0x20
xor dword [rdi + 0x4c], eax
mov eax, dword [r14 + 0x2c]
mov dword [rdi + 0x2c], eax
mov eax, dword [r14 + 0xb0]
mov dword [rdi + 0xb0], eax
mov eax, dword [r14 + 0x98]
mov dword [rdi + 0x98], eax
movups xmm0, xmmword [0x1800cecf8]
movaps xmmword [rbp - 0x49], xmm0
movaps xmmword [rbp - 0x39], xmm1
movq rcx, xmm1
movq rax, xmm0
cmp rcx, rax
jne 0x18003a913
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003a913
mov rdx, rdi
mov rcx, r14
call fcn.18003f8f0
mov eax, dword [r14 + 0x228]
mov dword [rdi + 0x11c], eax
mov eax, dword [r14 + 0x224]
mov dword [rdi + 0x118], eax
jmp 0x18003a913
movaps xmmword [rbp - 0x39], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040b60
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
movups xmm0, xmmword [0x1800cecf8]
movaps xmmword [rbp - 0x49], xmm0
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
movq rcx, xmm1
movq rax, xmm0
cmp rcx, rax
jne 0x18003a913
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003a913
mov rdx, rdi
mov rcx, r14
call fcn.18003f8f0
mov ecx, dword [r14 + 0x228]
lea eax, [rcx - 8]
mov r8d, esi
cmp ecx, 8
cmovge r8d, eax
shl r8d, 0xc
xor r8d, dword [rdi + 0xb8]
and r8d, 0x7000
xor r8d, dword [rdi + 0xb8]
mov dword [rdi + 0xb8], r8d
mov ecx, dword [r14 + 0x224]
lea eax, [rcx - 8]
mov edx, esi
cmp ecx, 8
cmovge edx, eax
shl edx, 0xf
xor edx, r8d
and edx, 0x38000
xor edx, r8d
mov dword [rdi + 0xb8], edx
jmp 0x18003a913
movaps xmmword [rbp - 0x39], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040b60
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
mov qword [rbp - 0x21], rsi
test r15, r15
je 0x18003b7f5
mov rbx, qword [r15 + 8]
mov rcx, qword [r15]
call fcn.180066e24
mov edx, 0x10
mov rcx, r15
call fcn.180066b1c
mov r15, rbx
mov qword [rbp - 0x29], rbx
test rbx, rbx
jne 0x18003a920
jmp 0x18003b7f5
mov r8d, 0x1408
mov rdx, r14
mov rcx, qword [r13 + 0x58]
call fcn.180069a90
nop
test r14, r14
je 0x18003ac21
cmp r14, rdi
je 0x18003ac21
test rdi, rdi
je 0x18003ac1d
mov eax, dword [rbp + 0x6f]
add eax, 0xfffffffe
cmp eax, 1
ja 0x18003ac1d
cmp ebx, 0x80000006
ja 0x18003aa03
je 0x18003a9e2
cmp ebx, 6
je 0x18003a9c8
cmp ebx, 7
je 0x18003ab2f
cmp ebx, 9
je 0x18003a9c8
cmp ebx, 0x80000005
jne 0x18003aa23
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040290
jmp 0x18003ac1d
mov ebx, dword [rdi]
mov r8d, 0x1408
mov rdx, r14
mov rcx, rdi
call fcn.180069a90
mov dword [rdi], ebx
jmp 0x18003ac1d
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040b60
jmp 0x18003ac1d
cmp ebx, 0x80000007
je 0x18003abf4
cmp ebx, 0x80000008
je 0x18003ab2f
cmp ebx, 0x80000009
je 0x18003aa2f
mov dword [rbp - 0xd], 0xf
jmp 0x18003ac1d
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040b60
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
movups xmm0, xmmword [0x1800cece8]
movaps xmmword [rbp - 0x49], xmm0
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
movq rcx, xmm1
movq rax, xmm0
cmp rcx, rax
jne 0x18003aad5
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003aad5
mov eax, dword [r14 + 0x168]
mov dword [rdi + 0x168], eax
mov eax, dword [r14 + 0x18]
mov dword [rdi + 0x18], eax
movzx eax, word [r14 + 0x82]
mov word [rdi + 0x82], ax
mov eax, dword [r14 + 0x4c]
xor eax, dword [rdi + 0x4c]
and eax, 0x20
xor dword [rdi + 0x4c], eax
mov eax, dword [r14 + 0x2c]
mov dword [rdi + 0x2c], eax
mov eax, dword [r14 + 0xb0]
mov dword [rdi + 0xb0], eax
mov eax, dword [r14 + 0x98]
mov dword [rdi + 0x98], eax
movups xmm0, xmmword [0x1800cecf8]
movaps xmmword [rbp - 0x49], xmm0
movaps xmmword [rbp - 0x39], xmm1
movq rcx, xmm1
movq rax, xmm0
cmp rcx, rax
jne 0x18003ac1d
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003ac1d
mov rdx, rdi
mov rcx, r14
call fcn.18003f8f0
mov eax, dword [r14 + 0x228]
mov dword [rdi + 0x11c], eax
mov eax, dword [r14 + 0x224]
mov dword [rdi + 0x118], eax
jmp 0x18003ac1d
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040b60
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
movups xmm0, xmmword [0x1800cecf8]
movaps xmmword [rbp - 0x49], xmm0
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
movq rcx, xmm1
movq rax, xmm0
cmp rcx, rax
jne 0x18003ac1d
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003ac1d
mov rdx, rdi
mov rcx, r14
call fcn.18003f8f0
mov ecx, dword [r14 + 0x228]
lea eax, [rcx - 8]
mov r8d, esi
cmp ecx, 8
cmovge r8d, eax
shl r8d, 0xc
xor r8d, dword [rdi + 0xb8]
and r8d, 0x7000
xor r8d, dword [rdi + 0xb8]
mov dword [rdi + 0xb8], r8d
mov ecx, dword [r14 + 0x224]
lea eax, [rcx - 8]
mov edx, esi
cmp ecx, 8
cmovge edx, eax
shl edx, 0xf
xor edx, r8d
and edx, 0x38000
xor edx, r8d
mov dword [rdi + 0xb8], edx
jmp 0x18003ac1d
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040b60
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
mov qword [rbp - 0x21], rsi
test r15, r15
je 0x18003b7f5
nop word [rax + rax]
mov rbx, qword [r15 + 8]
mov rcx, qword [r15]
call fcn.180066e24
mov edx, 0x10
mov rcx, r15
call fcn.180066b1c
mov r15, rbx
mov qword [rbp - 0x29], rbx
test rbx, rbx
jne 0x18003ac30
jmp 0x18003b7f5
xor esi, esi
mov dword [rbp + 0x67], esi
movups xmm0, xmmword [rbx + 4]
movups xmmword [r13 + 4], xmm0
movups xmm0, xmmword [rbx + 0x14]
movups xmmword [r13 + 0x14], xmm0
mov eax, dword [rbx + 0x24]
mov dword [r13 + 0x24], eax
mov eax, dword [rbx + 0x28]
mov dword [r13 + 0x28], eax
mov eax, dword [rbx + 0x2c]
mov dword [r13 + 0x2c], eax
mov eax, dword [rbx + 0x30]
mov dword [r13 + 0x30], eax
mov eax, dword [rbx + 0x34]
mov dword [r13 + 0x34], eax
mov eax, dword [rbx + 0x38]
mov dword [r13 + 0x38], eax
mov eax, dword [rbx + 0x3c]
mov dword [r13 + 0x3c], eax
mov eax, dword [rbx + 0x40]
mov dword [r13 + 0x40], eax
mov ecx, dword [rbx + 0x44]
xor ecx, dword [r13 + 0x44]
and ecx, 1
xor ecx, dword [r13 + 0x44]
mov dword [r13 + 0x44], ecx
mov eax, ecx
xor eax, dword [rbx + 0x44]
and eax, 2
xor ecx, eax
mov dword [r13 + 0x44], ecx
mov eax, ecx
xor eax, dword [rbx + 0x44]
and eax, 4
xor ecx, eax
mov dword [r13 + 0x44], ecx
mov eax, ecx
xor eax, dword [rbx + 0x44]
and eax, 8
xor ecx, eax
mov dword [r13 + 0x44], ecx
mov eax, ecx
xor eax, dword [rbx + 0x44]
and eax, 0x10
xor ecx, eax
mov dword [r13 + 0x44], ecx
mov eax, ecx
xor eax, dword [rbx + 0x44]
and eax, 0x20
xor ecx, eax
mov dword [r13 + 0x44], ecx
mov eax, ecx
xor eax, dword [rbx + 0x44]
and eax, 0x3c0
xor ecx, eax
mov dword [r13 + 0x44], ecx
mov eax, ecx
xor eax, dword [rbx + 0x44]
and eax, 0x400
xor ecx, eax
mov dword [r13 + 0x44], ecx
mov eax, ecx
xor eax, dword [rbx + 0x44]
and eax, 0x800
xor ecx, eax
mov dword [r13 + 0x44], ecx
mov eax, ecx
xor eax, dword [rbx + 0x44]
and eax, 0x1000
xor ecx, eax
mov dword [r13 + 0x44], ecx
mov eax, ecx
xor eax, dword [rbx + 0x44]
and eax, 0x2000
xor ecx, eax
mov dword [r13 + 0x44], ecx
mov eax, ecx
xor eax, dword [rbx + 0x44]
and eax, 0x4000
xor ecx, eax
mov dword [r13 + 0x44], ecx
mov eax, ecx
xor eax, dword [rbx + 0x44]
and eax, 0x8000
xor ecx, eax
mov dword [r13 + 0x44], ecx
mov eax, ecx
xor eax, dword [rbx + 0x44]
and eax, 0x10000
xor eax, ecx
mov dword [r13 + 0x44], eax
mov eax, dword [rbx + 0x48]
mov dword [r13 + 0x48], eax
mov rax, qword [rbx + 0x50]
mov qword [r13 + 0x50], rax
mov eax, dword [rbx + 0x60]
mov dword [r13 + 0x60], eax
mov eax, dword [rbx + 0x64]
mov dword [r13 + 0x64], eax
movups xmm0, xmmword [rbx + 0x68]
movups xmmword [r13 + 0x68], xmm0
movups xmm1, xmmword [rbx + 0x78]
movups xmmword [r13 + 0x78], xmm1
mov eax, dword [rbx + 0x88]
mov dword [r13 + 0x88], eax
mov eax, dword [rbx + 0x8c]
mov dword [r13 + 0x8c], eax
mov eax, dword [rbx + 0x90]
mov dword [r13 + 0x90], eax
mov eax, dword [rbx + 0x94]
mov dword [r13 + 0x94], eax
mov eax, dword [rbx + 0x44]
shr eax, 3
and al, 1
mov byte [rdi + 0x49], al
cmp qword [rbx + 0x58], rsi
je 0x18003b7f5
mov edx, 0x1408
mov rcx, rdi
call fcn.180037840
mov qword [r13 + 0x58], rax
movups xmm0, xmmword [rbx + 4]
movaps xmmword [rbp - 0x39], xmm0
mov dword [rsp + 0x58], esi
mov byte [rsp + 0x50], sil
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], rsi
mov byte [rsp + 0x38], sil
mov dword [rsp + 0x30], esi
lea rax, [rbp - 0x39]
mov qword [rsp + 0x28], rax
mov byte [rsp + 0x20], sil
lea r9d, [rsi + 1]
lea r8, [rbp + 0x67]
mov rdx, qword [rbx + 0x58]
lea rcx, [rbp - 0x29]
call fcn.180037290
nop
cmp dword [rbp + 0x67], esi
je 0x18003ae6c
mov dword [rdi + 0x1c], 0xf
lea rcx, [rbp - 0x29]
call fcn.1800376d0
jmp 0x18003b7f5
mov r8d, 0x1408
mov rdx, qword [rbp - 0x21]
mov rcx, qword [r13 + 0x58]
call fcn.180069a90
nop
lea rcx, [rbp - 0x29]
call fcn.1800376d0
jmp 0x18003b7f5
movups xmm0, xmmword [rbx + 4]
movups xmmword [r13 + 4], xmm0
movups xmm0, xmmword [rbx + 0x14]
movups xmmword [r13 + 0x14], xmm0
mov eax, dword [rbx + 0x24]
mov dword [r13 + 0x24], eax
mov eax, dword [rbx + 0x28]
mov dword [r13 + 0x28], eax
mov eax, dword [rbx + 0x2c]
mov dword [r13 + 0x2c], eax
mov eax, dword [rbx + 0x30]
mov dword [r13 + 0x30], eax
mov eax, dword [rbx + 0x34]
mov dword [r13 + 0x34], eax
mov eax, dword [rbx + 0x38]
mov dword [r13 + 0x38], eax
mov eax, dword [rbx + 0x3c]
mov dword [r13 + 0x3c], eax
mov eax, dword [rbx + 0x40]
mov dword [r13 + 0x40], eax
mov edx, dword [rbx + 0x44]
xor edx, dword [r13 + 0x44]
and edx, 1
xor edx, dword [r13 + 0x44]
mov dword [r13 + 0x44], edx
mov eax, edx
xor eax, dword [rbx + 0x44]
and eax, 2
xor edx, eax
mov dword [r13 + 0x44], edx
mov eax, edx
xor eax, dword [rbx + 0x44]
and eax, 4
xor edx, eax
mov dword [r13 + 0x44], edx
mov eax, edx
xor eax, dword [rbx + 0x44]
and eax, 8
xor edx, eax
mov dword [r13 + 0x44], edx
mov eax, edx
xor eax, dword [rbx + 0x44]
and eax, 0x10
xor edx, eax
mov dword [r13 + 0x44], edx
mov eax, edx
xor eax, dword [rbx + 0x44]
and eax, 0x20
xor edx, eax
mov dword [r13 + 0x44], edx
mov eax, dword [rbx + 0x48]
mov dword [r13 + 0x48], eax
mov rax, qword [rbx + 0x50]
mov qword [r13 + 0x50], rax
mov eax, dword [rbx + 0x60]
mov dword [r13 + 0x60], eax
mov eax, dword [rbx + 0x64]
mov dword [r13 + 0x64], eax
movups xmm0, xmmword [rbx + 0x68]
movups xmmword [r13 + 0x68], xmm0
movups xmm1, xmmword [rbx + 0x78]
movups xmmword [r13 + 0x78], xmm1
mov eax, dword [rbx + 0x88]
mov dword [r13 + 0x88], eax
mov eax, dword [rbx + 0x8c]
mov dword [r13 + 0x8c], eax
mov eax, dword [rbx + 0x90]
mov dword [r13 + 0x90], eax
cmp dword [rcx + 0x20], 5
jne 0x18003b011
mov ecx, dword [rbx + 0x44]
and ecx, 0x1c0
and edx, 0xfffffc3f
or ecx, edx
mov dword [r13 + 0x44], ecx
mov eax, dword [rbx + 0x44]
add eax, eax
xor eax, ecx
and eax, 0x400
xor ecx, eax
mov dword [r13 + 0x44], ecx
mov eax, dword [rbx + 0x44]
add eax, eax
xor eax, ecx
and eax, 0x800
xor ecx, eax
mov dword [r13 + 0x44], ecx
mov eax, dword [rbx + 0x44]
add eax, eax
xor eax, ecx
and eax, 0x1000
xor ecx, eax
mov dword [r13 + 0x44], ecx
mov eax, dword [rbx + 0x44]
add eax, eax
xor eax, ecx
and eax, 0x2000
xor ecx, eax
mov dword [r13 + 0x44], ecx
mov eax, dword [rbx + 0x44]
add eax, eax
xor eax, ecx
and eax, 0x4000
xor ecx, eax
mov dword [r13 + 0x44], ecx
mov eax, dword [rbx + 0x44]
add eax, eax
xor eax, ecx
and eax, 0x8000
xor eax, ecx
mov dword [r13 + 0x44], eax
mov eax, dword [rbx + 0x44]
shr eax, 3
and al, 1
mov byte [rdi + 0x49], al
cmp qword [rbx + 0x58], 0
je 0x18003b7f5
mov edx, 0x1408
mov rcx, rdi
call fcn.180037840
mov qword [r13 + 0x58], rax
mov rdi, qword [rbx + 0x58]
xor esi, esi
mov r12d, esi
mov qword [rbp - 0x11], 1
mov ecx, 1
mov dword [rbp + 0x6f], ecx
mov r14d, esi
mov qword [rbp - 0x21], rsi
mov qword [rbp - 0x19], rdi
mov r15d, esi
mov qword [rbp - 0x29], rsi
movups xmm0, xmmword [rbx + 4]
movaps xmmword [rbp - 0x59], xmm0
movups xmmword [rbp + 0xb], xmm0
test rdi, rdi
je 0x18003b0d8
movzx ebx, byte [rdi + 2]
mov eax, dword [rdi]
and eax, 0x80000000
or ebx, eax
mov dword [rbp - 9], ebx
mov r8d, dword [rdi]
mov eax, r8d
shr eax, 0x18
and eax, 0x7f
mov edx, eax
and edx, 0xf
shr eax, 4
test eax, eax
je 0x18003b0ac
cmp eax, 6
je 0x18003b0ac
cmp eax, 5
jbe 0x18003b0b1
movzx eax, r8w
jmp 0x18003b0b1
mov eax, 0xffffffff
shl eax, 4
or eax, edx
mov dword [rbp - 1], eax
mov dword [rbp + 0x1b], esi
mov word [rbp + 0x20], si
mov dword [rbp - 5], 9
mov dword [rbp + 3], 0xc2
test r8d, r8d
jns 0x18003b0f5
movzx edx, cl
jmp 0x18003b0f7
mov ebx, esi
mov dword [rbp - 9], ebx
mov qword [rbp - 5], 9
mov dword [rbp + 0x1b], esi
mov word [rbp + 0x20], bx
mov dword [rbp + 3], 0xc2
mov eax, esi
xor dl, dl
mov byte [rbp + 7], dl
mov byte [rbp + 0x1f], sil
cmp eax, 0xc2
ja 0x18003b254
cmp bl, 9
ja 0x18003b254
cmp ebx, 9
jne 0x18003b127
test dl, dl
jne 0x18003b127
mov r14, rdi
mov qword [rbp - 0x21], rdi
jmp 0x18003b1dc
lea rdx, [0x1800cf550]
mov ecx, 0x1408
call fcn.180067294
mov r14, rax
lea rdx, [0x1800cf550]
mov ecx, 0x10
call fcn.180067278
test r14, r14
je 0x18003b1b0
mov rcx, r14
test rax, rax
je 0x18003b1a9
mov qword [rax], r14
mov qword [rax + 8], rsi
mov r15, rax
mov qword [rbp - 0x29], rax
mov qword [rbp - 0x21], r14
xor edx, edx
mov r8d, 0x1408
call fcn.180069880
test rdi, rdi
je 0x18003b1d3
lea rcx, [rbp - 0x29]
call fcn.1800381c0
movups xmm0, xmmword [rbp + 0xb]
movaps xmmword [rbp - 0x59], xmm0
mov ebx, dword [rbp - 9]
mov r12d, dword [rbp - 0xd]
mov ecx, dword [rbp - 0x11]
mov dword [rbp + 0x6f], ecx
mov rdi, qword [rbp - 0x19]
mov r14, qword [rbp - 0x21]
mov r15, qword [rbp - 0x29]
jmp 0x18003b1dc
call fcn.180066e24
jmp 0x18003b1c2
test rax, rax
je 0x18003b1c2
mov edx, 0x10
mov rcx, rax
call fcn.180066b1c
mov r14, rsi
mov qword [rbp - 0x21], rsi
mov r12d, 0xa
mov dword [rbp - 0xd], r12d
mov ecx, 1
movaps xmm0, xmmword [rbp - 0x59]
test r12d, r12d
je 0x18003b4ea
mov rax, qword [rbp + 0x67]
mov dword [rax + 0x1c], 0xf
test r14, r14
je 0x18003b4ac
cmp r14, rdi
je 0x18003b4ac
test rdi, rdi
je 0x18003b4a8
lea eax, [rcx - 2]
cmp eax, 1
ja 0x18003b4a8
cmp ebx, 0x80000006
ja 0x18003b29a
je 0x18003b27d
cmp ebx, 6
je 0x18003b263
cmp ebx, 7
je 0x18003b3c2
cmp ebx, 9
je 0x18003b263
cmp ebx, 0x80000005
jne 0x18003b2ba
movaps xmmword [rbp - 0x39], xmm0
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040290
jmp 0x18003b4a8
mov r12d, 0xf
mov dword [rbp - 0xd], r12d
jmp 0x18003b1dc
mov ebx, dword [rdi]
mov r8d, 0x1408
mov rdx, r14
mov rcx, rdi
call fcn.180069a90
mov dword [rdi], ebx
jmp 0x18003b4a8
movaps xmmword [rbp - 0x39], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040b60
jmp 0x18003b4a8
cmp ebx, 0x80000007
je 0x18003b483
cmp ebx, 0x80000008
je 0x18003b3c2
cmp ebx, 0x80000009
je 0x18003b2c6
mov dword [rbp - 0xd], 0xf
jmp 0x18003b4a8
movaps xmmword [rbp - 0x39], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040b60
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
movups xmm0, xmmword [0x1800cece8]
movaps xmmword [rbp - 0x49], xmm0
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
movq rcx, xmm1
movq rax, xmm0
cmp rcx, rax
jne 0x18003b368
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003b368
mov eax, dword [r14 + 0x168]
mov dword [rdi + 0x168], eax
mov eax, dword [r14 + 0x18]
mov dword [rdi + 0x18], eax
movzx eax, word [r14 + 0x82]
mov word [rdi + 0x82], ax
mov eax, dword [r14 + 0x4c]
xor eax, dword [rdi + 0x4c]
and eax, 0x20
xor dword [rdi + 0x4c], eax
mov eax, dword [r14 + 0x2c]
mov dword [rdi + 0x2c], eax
mov eax, dword [r14 + 0xb0]
mov dword [rdi + 0xb0], eax
mov eax, dword [r14 + 0x98]
mov dword [rdi + 0x98], eax
movups xmm0, xmmword [0x1800cecf8]
movaps xmmword [rbp - 0x49], xmm0
movaps xmmword [rbp - 0x39], xmm1
movq rcx, xmm1
movq rax, xmm0
cmp rcx, rax
jne 0x18003b4a8
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003b4a8
mov rdx, rdi
mov rcx, r14
call fcn.18003f8f0
mov eax, dword [r14 + 0x228]
mov dword [rdi + 0x11c], eax
mov eax, dword [r14 + 0x224]
mov dword [rdi + 0x118], eax
jmp 0x18003b4a8
movaps xmmword [rbp - 0x39], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040b60
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
movups xmm0, xmmword [0x1800cecf8]
movaps xmmword [rbp - 0x49], xmm0
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
movq rcx, xmm1
movq rax, xmm0
cmp rcx, rax
jne 0x18003b4a8
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003b4a8
mov rdx, rdi
mov rcx, r14
call fcn.18003f8f0
mov ecx, dword [r14 + 0x228]
lea eax, [rcx - 8]
mov r8d, esi
cmp ecx, 8
cmovge r8d, eax
shl r8d, 0xc
xor r8d, dword [rdi + 0xb8]
and r8d, 0x7000
xor r8d, dword [rdi + 0xb8]
mov dword [rdi + 0xb8], r8d
mov ecx, dword [r14 + 0x224]
lea eax, [rcx - 8]
mov edx, esi
cmp ecx, 8
cmovge edx, eax
shl edx, 0xf
xor edx, r8d
and edx, 0x38000
xor edx, r8d
mov dword [rdi + 0xb8], edx
jmp 0x18003b4a8
movaps xmmword [rbp - 0x39], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040b60
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
mov qword [rbp - 0x21], rsi
test r15, r15
je 0x18003b7f5
nop word [rax + rax]
mov rbx, qword [r15 + 8]
mov rcx, qword [r15]
call fcn.180066e24
mov edx, 0x10
mov rcx, r15
call fcn.180066b1c
mov r15, rbx
mov qword [rbp - 0x29], rbx
test rbx, rbx
jne 0x18003b4c0
jmp 0x18003b7f5
mov r8d, 0x1408
mov rdx, r14
mov rcx, qword [r13 + 0x58]
call fcn.180069a90
nop
test r14, r14
je 0x18003b7c1
cmp r14, rdi
je 0x18003b7c1
test rdi, rdi
je 0x18003b7bd
mov eax, dword [rbp + 0x6f]
add eax, 0xfffffffe
cmp eax, 1
ja 0x18003b7bd
cmp ebx, 0x80000006
ja 0x18003b5a3
je 0x18003b582
cmp ebx, 6
je 0x18003b568
cmp ebx, 7
je 0x18003b6cf
cmp ebx, 9
je 0x18003b568
cmp ebx, 0x80000005
jne 0x18003b5c3
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040290
jmp 0x18003b7bd
mov ebx, dword [rdi]
mov r8d, 0x1408
mov rdx, r14
mov rcx, rdi
call fcn.180069a90
mov dword [rdi], ebx
jmp 0x18003b7bd
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040b60
jmp 0x18003b7bd
cmp ebx, 0x80000007
je 0x18003b794
cmp ebx, 0x80000008
je 0x18003b6cf
cmp ebx, 0x80000009
je 0x18003b5cf
mov dword [rbp - 0xd], 0xf
jmp 0x18003b7bd
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040b60
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
movups xmm0, xmmword [0x1800cece8]
movaps xmmword [rbp - 0x49], xmm0
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
movq rcx, xmm1
movq rax, xmm0
cmp rcx, rax
jne 0x18003b675
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003b675
mov eax, dword [r14 + 0x168]
mov dword [rdi + 0x168], eax
mov eax, dword [r14 + 0x18]
mov dword [rdi + 0x18], eax
movzx eax, word [r14 + 0x82]
mov word [rdi + 0x82], ax
mov eax, dword [r14 + 0x4c]
xor eax, dword [rdi + 0x4c]
and eax, 0x20
xor dword [rdi + 0x4c], eax
mov eax, dword [r14 + 0x2c]
mov dword [rdi + 0x2c], eax
mov eax, dword [r14 + 0xb0]
mov dword [rdi + 0xb0], eax
mov eax, dword [r14 + 0x98]
mov dword [rdi + 0x98], eax
movups xmm0, xmmword [0x1800cecf8]
movaps xmmword [rbp - 0x49], xmm0
movaps xmmword [rbp - 0x39], xmm1
movq rcx, xmm1
movq rax, xmm0
cmp rcx, rax
jne 0x18003b7bd
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003b7bd
mov rdx, rdi
mov rcx, r14
call fcn.18003f8f0
mov eax, dword [r14 + 0x228]
mov dword [rdi + 0x11c], eax
mov eax, dword [r14 + 0x224]
mov dword [rdi + 0x118], eax
jmp 0x18003b7bd
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040b60
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
movups xmm0, xmmword [0x1800cecf8]
movaps xmmword [rbp - 0x49], xmm0
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
movq rcx, xmm1
movq rax, xmm0
cmp rcx, rax
jne 0x18003b7bd
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003b7bd
mov rdx, rdi
mov rcx, r14
call fcn.18003f8f0
mov ecx, dword [r14 + 0x228]
lea eax, [rcx - 8]
mov r8d, esi
cmp ecx, 8
cmovge r8d, eax
shl r8d, 0xc
xor r8d, dword [rdi + 0xb8]
and r8d, 0x7000
xor r8d, dword [rdi + 0xb8]
mov dword [rdi + 0xb8], r8d
mov ecx, dword [r14 + 0x224]
lea eax, [rcx - 8]
mov edx, esi
cmp ecx, 8
cmovge edx, eax
shl edx, 0xf
xor edx, r8d
and edx, 0x38000
xor edx, r8d
mov dword [rdi + 0xb8], edx
jmp 0x18003b7bd
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040b60
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
mov qword [rbp - 0x21], rsi
test r15, r15
je 0x18003b7f5
nop word [rax + rax]
mov rbx, qword [r15 + 8]
mov rcx, qword [r15]
call fcn.180066e24
mov edx, 0x10
mov rcx, r15
call fcn.180066b1c
mov r15, rbx
mov qword [rbp - 0x29], rbx
test rbx, rbx
jne 0x18003b7d0
mov rbx, qword [rsp + 0x130]
add rsp, 0xe0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret