Function at 0x180039080
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 0x18003b825
mov rbx, qword [rcx + 0x10]
test rbx, rbx
je 0x18003b825
mov eax, dword [rcx + 0x20]
cmp eax, 5
je 0x18003aebe
cmp eax, 7
je 0x18003ac8a
cmp eax, 0x80000005
je 0x18003a37a
cmp eax, 0x80000006
je 0x180039a3a
cmp eax, 0x80000007
je 0x1800390fc
mov dword [rcx + 0x1c], 0xf
jmp 0x18003b825
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 0x18003b825
mov edx, 0x1408
mov rcx, rdi
call fcn.180037870
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 0x18003931a
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 0x1800392ee
cmp eax, 6
je 0x1800392ee
cmp eax, 5
jbe 0x1800392f3
movzx eax, r8w
jmp 0x1800392f3
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 0x180039337
movzx edx, cl
jmp 0x180039339
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 0x180039496
cmp bl, 9
ja 0x180039496
cmp ebx, 9
jne 0x180039369
test dl, dl
jne 0x180039369
mov r14, rdi
mov qword [rbp - 0x21], rdi
jmp 0x18003941e
lea rdx, [0x1800d0550]
mov ecx, 0x1408
call fcn.180067464
mov r14, rax
lea rdx, [0x1800d0550]
mov ecx, 0x10
call fcn.180067448
test r14, r14
je 0x1800393f2
mov rcx, r14
test rax, rax
je 0x1800393eb
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.180069a50
test rdi, rdi
je 0x180039415
lea rcx, [rbp - 0x29]
call fcn.1800381f0
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 0x18003941e
call fcn.180066ff4
jmp 0x180039404
test rax, rax
je 0x180039404
mov edx, 0x10
mov rcx, rax
call fcn.180066cec
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 0x18003972a
mov rax, qword [rbp + 0x67]
mov dword [rax + 0x1c], 0xf
test r14, r14
je 0x1800396ee
cmp r14, rdi
je 0x1800396ee
test rdi, rdi
je 0x1800396ea
lea eax, [rcx - 2]
cmp eax, 1
ja 0x1800396ea
cmp ebx, 0x80000006
ja 0x1800394dc
je 0x1800394bf
cmp ebx, 6
je 0x1800394a5
cmp ebx, 7
je 0x180039604
cmp ebx, 9
je 0x1800394a5
cmp ebx, 0x80000005
jne 0x1800394fc
movaps xmmword [rbp - 0x59], xmm0
lea r8, [rbp - 0x59]
mov rdx, rdi
mov rcx, r14
call fcn.1800402c0
jmp 0x1800396ea
mov r12d, 0xf
mov dword [rbp - 0xd], r12d
jmp 0x18003941e
mov ebx, dword [rdi]
mov r8d, 0x1408
mov rdx, r14
mov rcx, rdi
call fcn.180069c60
mov dword [rdi], ebx
jmp 0x1800396ea
movaps xmmword [rbp - 0x59], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x59]
mov rdx, rdi
mov rcx, r14
call fcn.180040b90
jmp 0x1800396ea
cmp ebx, 0x80000007
je 0x1800396c5
cmp ebx, 0x80000008
je 0x180039604
cmp ebx, 0x80000009
je 0x180039508
mov dword [rbp - 0xd], 0xf
jmp 0x1800396ea
movaps xmmword [rbp - 0x49], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x49]
mov rdx, rdi
mov rcx, r14
call fcn.180040b90
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
movups xmm0, xmmword [0x1800cfce8]
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 0x1800395aa
mov rax, qword [rbp - 0x41]
cmp rax, qword [rbp - 0x31]
jne 0x1800395aa
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 [0x1800cfcf8]
movaps xmmword [rbp - 0x49], xmm0
movaps xmmword [rbp - 0x39], xmm1
movq rcx, xmm1
movq rax, xmm0
cmp rcx, rax
jne 0x1800396ea
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x1800396ea
mov rdx, rdi
mov rcx, r14
call fcn.18003f920
mov eax, dword [r14 + 0x228]
mov dword [rdi + 0x11c], eax
mov eax, dword [r14 + 0x224]
mov dword [rdi + 0x118], eax
jmp 0x1800396ea
movaps xmmword [rbp - 0x39], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040b90
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
movups xmm0, xmmword [0x1800cfcf8]
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 0x1800396ea
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x1800396ea
mov rdx, rdi
mov rcx, r14
call fcn.18003f920
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 0x1800396ea
movaps xmmword [rbp - 0x39], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040b90
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
mov qword [rbp - 0x21], rsi
test r15, r15
je 0x18003b825
nop word [rax + rax]
mov rbx, qword [r15 + 8]
mov rcx, qword [r15]
call fcn.180066ff4
mov edx, 0x10
mov rcx, r15
call fcn.180066cec
mov r15, rbx
mov qword [rbp - 0x29], rbx
test rbx, rbx
jne 0x180039700
jmp 0x18003b825
mov r8d, 0x1408
mov rdx, r14
mov rcx, qword [r13 + 0x58]
call fcn.180069c60
nop
test r14, r14
je 0x180039a01
cmp r14, rdi
je 0x180039a01
test rdi, rdi
je 0x1800399fd
mov eax, dword [rbp + 0x6f]
add eax, 0xfffffffe
cmp eax, 1
ja 0x1800399fd
cmp ebx, 0x80000006
ja 0x1800397e3
je 0x1800397c2
cmp ebx, 6
je 0x1800397a8
cmp ebx, 7
je 0x18003990f
cmp ebx, 9
je 0x1800397a8
cmp ebx, 0x80000005
jne 0x180039803
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.1800402c0
jmp 0x1800399fd
mov ebx, dword [rdi]
mov r8d, 0x1408
mov rdx, r14
mov rcx, rdi
call fcn.180069c60
mov dword [rdi], ebx
jmp 0x1800399fd
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.180040b90
jmp 0x1800399fd
cmp ebx, 0x80000007
je 0x1800399d4
cmp ebx, 0x80000008
je 0x18003990f
cmp ebx, 0x80000009
je 0x18003980f
mov dword [rbp - 0xd], 0xf
jmp 0x1800399fd
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.180040b90
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
movups xmm0, xmmword [0x1800cfce8]
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 0x1800398b5
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x1800398b5
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 [0x1800cfcf8]
movaps xmmword [rbp - 0x49], xmm0
movaps xmmword [rbp - 0x39], xmm1
movq rcx, xmm1
movq rax, xmm0
cmp rcx, rax
jne 0x1800399fd
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x1800399fd
mov rdx, rdi
mov rcx, r14
call fcn.18003f920
mov eax, dword [r14 + 0x228]
mov dword [rdi + 0x11c], eax
mov eax, dword [r14 + 0x224]
mov dword [rdi + 0x118], eax
jmp 0x1800399fd
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.180040b90
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
movups xmm0, xmmword [0x1800cfcf8]
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 0x1800399fd
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x1800399fd
mov rdx, rdi
mov rcx, r14
call fcn.18003f920
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 0x1800399fd
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.180040b90
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
mov qword [rbp - 0x21], rsi
test r15, r15
je 0x18003b825
nop word [rax + rax]
mov rbx, qword [r15 + 8]
mov rcx, qword [r15]
call fcn.180066ff4
mov edx, 0x10
mov rcx, r15
call fcn.180066cec
mov r15, rbx
mov qword [rbp - 0x29], rbx
test rbx, rbx
jne 0x180039a10
jmp 0x18003b825
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 0x18003b825
mov edx, 0x1408
mov rcx, rdi
call fcn.180037870
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 0x180039c58
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 0x180039c2c
cmp eax, 6
je 0x180039c2c
cmp eax, 5
jbe 0x180039c31
movzx eax, r8w
jmp 0x180039c31
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 0x180039c75
movzx edx, cl
jmp 0x180039c77
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 0x180039dd4
cmp bl, 9
ja 0x180039dd4
cmp ebx, 9
jne 0x180039ca7
test dl, dl
jne 0x180039ca7
mov r14, rdi
mov qword [rbp - 0x21], rdi
jmp 0x180039d5c
lea rdx, [0x1800d0550]
mov ecx, 0x1408
call fcn.180067464
mov r14, rax
lea rdx, [0x1800d0550]
mov ecx, 0x10
call fcn.180067448
test r14, r14
je 0x180039d30
mov rcx, r14
test rax, rax
je 0x180039d29
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.180069a50
test rdi, rdi
je 0x180039d53
lea rcx, [rbp - 0x29]
call fcn.1800381f0
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 0x180039d5c
call fcn.180066ff4
jmp 0x180039d42
test rax, rax
je 0x180039d42
mov edx, 0x10
mov rcx, rax
call fcn.180066cec
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 0x18003a06a
mov rax, qword [rbp + 0x67]
mov dword [rax + 0x1c], 0xf
test r14, r14
je 0x18003a02c
cmp r14, rdi
je 0x18003a02c
test rdi, rdi
je 0x18003a028
lea eax, [rcx - 2]
cmp eax, 1
ja 0x18003a028
cmp ebx, 0x80000006
ja 0x180039e1a
je 0x180039dfd
cmp ebx, 6
je 0x180039de3
cmp ebx, 7
je 0x180039f42
cmp ebx, 9
je 0x180039de3
cmp ebx, 0x80000005
jne 0x180039e3a
movaps xmmword [rbp - 0x39], xmm0
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.1800402c0
jmp 0x18003a028
mov r12d, 0xf
mov dword [rbp - 0xd], r12d
jmp 0x180039d5c
mov ebx, dword [rdi]
mov r8d, 0x1408
mov rdx, r14
mov rcx, rdi
call fcn.180069c60
mov dword [rdi], ebx
jmp 0x18003a028
movaps xmmword [rbp - 0x39], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040b90
jmp 0x18003a028
cmp ebx, 0x80000007
je 0x18003a003
cmp ebx, 0x80000008
je 0x180039f42
cmp ebx, 0x80000009
je 0x180039e46
mov dword [rbp - 0xd], 0xf
jmp 0x18003a028
movaps xmmword [rbp - 0x39], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040b90
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
movups xmm0, xmmword [0x1800cfce8]
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 0x180039ee8
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x180039ee8
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 [0x1800cfcf8]
movaps xmmword [rbp - 0x49], xmm0
movaps xmmword [rbp - 0x39], xmm1
movq rcx, xmm1
movq rax, xmm0
cmp rcx, rax
jne 0x18003a028
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003a028
mov rdx, rdi
mov rcx, r14
call fcn.18003f920
mov eax, dword [r14 + 0x228]
mov dword [rdi + 0x11c], eax
mov eax, dword [r14 + 0x224]
mov dword [rdi + 0x118], eax
jmp 0x18003a028
movaps xmmword [rbp - 0x39], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040b90
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
movups xmm0, xmmword [0x1800cfcf8]
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 0x18003a028
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003a028
mov rdx, rdi
mov rcx, r14
call fcn.18003f920
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 0x18003a028
movaps xmmword [rbp - 0x39], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040b90
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
mov qword [rbp - 0x21], rsi
test r15, r15
je 0x18003b825
nop word [rax + rax]
mov rbx, qword [r15 + 8]
mov rcx, qword [r15]
call fcn.180066ff4
mov edx, 0x10
mov rcx, r15
call fcn.180066cec
mov r15, rbx
mov qword [rbp - 0x29], rbx
test rbx, rbx
jne 0x18003a040
jmp 0x18003b825
mov r8d, 0x1408
mov rdx, r14
mov rcx, qword [r13 + 0x58]
call fcn.180069c60
nop
test r14, r14
je 0x18003a341
cmp r14, rdi
je 0x18003a341
test rdi, rdi
je 0x18003a33d
mov eax, dword [rbp + 0x6f]
add eax, 0xfffffffe
cmp eax, 1
ja 0x18003a33d
cmp ebx, 0x80000006
ja 0x18003a123
je 0x18003a102
cmp ebx, 6
je 0x18003a0e8
cmp ebx, 7
je 0x18003a24f
cmp ebx, 9
je 0x18003a0e8
cmp ebx, 0x80000005
jne 0x18003a143
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.1800402c0
jmp 0x18003a33d
mov ebx, dword [rdi]
mov r8d, 0x1408
mov rdx, r14
mov rcx, rdi
call fcn.180069c60
mov dword [rdi], ebx
jmp 0x18003a33d
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.180040b90
jmp 0x18003a33d
cmp ebx, 0x80000007
je 0x18003a314
cmp ebx, 0x80000008
je 0x18003a24f
cmp ebx, 0x80000009
je 0x18003a14f
mov dword [rbp - 0xd], 0xf
jmp 0x18003a33d
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.180040b90
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
movups xmm0, xmmword [0x1800cfce8]
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 0x18003a1f5
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003a1f5
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 [0x1800cfcf8]
movaps xmmword [rbp - 0x49], xmm0
movaps xmmword [rbp - 0x39], xmm1
movq rcx, xmm1
movq rax, xmm0
cmp rcx, rax
jne 0x18003a33d
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003a33d
mov rdx, rdi
mov rcx, r14
call fcn.18003f920
mov eax, dword [r14 + 0x228]
mov dword [rdi + 0x11c], eax
mov eax, dword [r14 + 0x224]
mov dword [rdi + 0x118], eax
jmp 0x18003a33d
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.180040b90
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
movups xmm0, xmmword [0x1800cfcf8]
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 0x18003a33d
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003a33d
mov rdx, rdi
mov rcx, r14
call fcn.18003f920
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 0x18003a33d
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.180040b90
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
mov qword [rbp - 0x21], rsi
test r15, r15
je 0x18003b825
nop word [rax + rax]
mov rbx, qword [r15 + 8]
mov rcx, qword [r15]
call fcn.180066ff4
mov edx, 0x10
mov rcx, r15
call fcn.180066cec
mov r15, rbx
mov qword [rbp - 0x29], rbx
test rbx, rbx
jne 0x18003a350
jmp 0x18003b825
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 0x18003b825
mov edx, 0x1408
mov rcx, rdi
call fcn.180037870
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 0x18003a573
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 0x18003a547
cmp eax, 6
je 0x18003a547
cmp eax, 5
jbe 0x18003a54c
movzx eax, r8w
jmp 0x18003a54c
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 0x18003a590
movzx edx, cl
jmp 0x18003a592
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 0x18003a6ef
cmp bl, 9
ja 0x18003a6ef
cmp ebx, 9
jne 0x18003a5c2
test dl, dl
jne 0x18003a5c2
mov r14, rdi
mov qword [rbp - 0x21], rdi
jmp 0x18003a677
lea rdx, [0x1800d0550]
mov ecx, 0x1408
call fcn.180067464
mov r14, rax
lea rdx, [0x1800d0550]
mov ecx, 0x10
call fcn.180067448
test r14, r14
je 0x18003a64b
mov rcx, r14
test rax, rax
je 0x18003a644
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.180069a50
test rdi, rdi
je 0x18003a66e
lea rcx, [rbp - 0x29]
call fcn.1800381f0
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 0x18003a677
call fcn.180066ff4
jmp 0x18003a65d
test rax, rax
je 0x18003a65d
mov edx, 0x10
mov rcx, rax
call fcn.180066cec
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 0x18003a97a
mov rax, qword [rbp + 0x67]
mov dword [rax + 0x1c], 0xf
test r14, r14
je 0x18003a947
cmp r14, rdi
je 0x18003a947
test rdi, rdi
je 0x18003a943
lea eax, [rcx - 2]
cmp eax, 1
ja 0x18003a943
cmp ebx, 0x80000006
ja 0x18003a735
je 0x18003a718
cmp ebx, 6
je 0x18003a6fe
cmp ebx, 7
je 0x18003a85d
cmp ebx, 9
je 0x18003a6fe
cmp ebx, 0x80000005
jne 0x18003a755
movaps xmmword [rbp - 0x39], xmm0
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.1800402c0
jmp 0x18003a943
mov r12d, 0xf
mov dword [rbp - 0xd], r12d
jmp 0x18003a677
mov ebx, dword [rdi]
mov r8d, 0x1408
mov rdx, r14
mov rcx, rdi
call fcn.180069c60
mov dword [rdi], ebx
jmp 0x18003a943
movaps xmmword [rbp - 0x39], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040b90
jmp 0x18003a943
cmp ebx, 0x80000007
je 0x18003a91e
cmp ebx, 0x80000008
je 0x18003a85d
cmp ebx, 0x80000009
je 0x18003a761
mov dword [rbp - 0xd], 0xf
jmp 0x18003a943
movaps xmmword [rbp - 0x39], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040b90
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
movups xmm0, xmmword [0x1800cfce8]
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 0x18003a803
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003a803
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 [0x1800cfcf8]
movaps xmmword [rbp - 0x49], xmm0
movaps xmmword [rbp - 0x39], xmm1
movq rcx, xmm1
movq rax, xmm0
cmp rcx, rax
jne 0x18003a943
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003a943
mov rdx, rdi
mov rcx, r14
call fcn.18003f920
mov eax, dword [r14 + 0x228]
mov dword [rdi + 0x11c], eax
mov eax, dword [r14 + 0x224]
mov dword [rdi + 0x118], eax
jmp 0x18003a943
movaps xmmword [rbp - 0x39], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040b90
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
movups xmm0, xmmword [0x1800cfcf8]
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 0x18003a943
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003a943
mov rdx, rdi
mov rcx, r14
call fcn.18003f920
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 0x18003a943
movaps xmmword [rbp - 0x39], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040b90
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
mov qword [rbp - 0x21], rsi
test r15, r15
je 0x18003b825
mov rbx, qword [r15 + 8]
mov rcx, qword [r15]
call fcn.180066ff4
mov edx, 0x10
mov rcx, r15
call fcn.180066cec
mov r15, rbx
mov qword [rbp - 0x29], rbx
test rbx, rbx
jne 0x18003a950
jmp 0x18003b825
mov r8d, 0x1408
mov rdx, r14
mov rcx, qword [r13 + 0x58]
call fcn.180069c60
nop
test r14, r14
je 0x18003ac51
cmp r14, rdi
je 0x18003ac51
test rdi, rdi
je 0x18003ac4d
mov eax, dword [rbp + 0x6f]
add eax, 0xfffffffe
cmp eax, 1
ja 0x18003ac4d
cmp ebx, 0x80000006
ja 0x18003aa33
je 0x18003aa12
cmp ebx, 6
je 0x18003a9f8
cmp ebx, 7
je 0x18003ab5f
cmp ebx, 9
je 0x18003a9f8
cmp ebx, 0x80000005
jne 0x18003aa53
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.1800402c0
jmp 0x18003ac4d
mov ebx, dword [rdi]
mov r8d, 0x1408
mov rdx, r14
mov rcx, rdi
call fcn.180069c60
mov dword [rdi], ebx
jmp 0x18003ac4d
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.180040b90
jmp 0x18003ac4d
cmp ebx, 0x80000007
je 0x18003ac24
cmp ebx, 0x80000008
je 0x18003ab5f
cmp ebx, 0x80000009
je 0x18003aa5f
mov dword [rbp - 0xd], 0xf
jmp 0x18003ac4d
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.180040b90
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
movups xmm0, xmmword [0x1800cfce8]
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 0x18003ab05
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003ab05
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 [0x1800cfcf8]
movaps xmmword [rbp - 0x49], xmm0
movaps xmmword [rbp - 0x39], xmm1
movq rcx, xmm1
movq rax, xmm0
cmp rcx, rax
jne 0x18003ac4d
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003ac4d
mov rdx, rdi
mov rcx, r14
call fcn.18003f920
mov eax, dword [r14 + 0x228]
mov dword [rdi + 0x11c], eax
mov eax, dword [r14 + 0x224]
mov dword [rdi + 0x118], eax
jmp 0x18003ac4d
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.180040b90
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
movups xmm0, xmmword [0x1800cfcf8]
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 0x18003ac4d
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003ac4d
mov rdx, rdi
mov rcx, r14
call fcn.18003f920
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 0x18003ac4d
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.180040b90
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
mov qword [rbp - 0x21], rsi
test r15, r15
je 0x18003b825
nop word [rax + rax]
mov rbx, qword [r15 + 8]
mov rcx, qword [r15]
call fcn.180066ff4
mov edx, 0x10
mov rcx, r15
call fcn.180066cec
mov r15, rbx
mov qword [rbp - 0x29], rbx
test rbx, rbx
jne 0x18003ac60
jmp 0x18003b825
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 0x18003b825
mov edx, 0x1408
mov rcx, rdi
call fcn.180037870
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.1800372c0
nop
cmp dword [rbp + 0x67], esi
je 0x18003ae9c
mov dword [rdi + 0x1c], 0xf
lea rcx, [rbp - 0x29]
call fcn.180037700
jmp 0x18003b825
mov r8d, 0x1408
mov rdx, qword [rbp - 0x21]
mov rcx, qword [r13 + 0x58]
call fcn.180069c60
nop
lea rcx, [rbp - 0x29]
call fcn.180037700
jmp 0x18003b825
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 0x18003b041
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 0x18003b825
mov edx, 0x1408
mov rcx, rdi
call fcn.180037870
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 0x18003b108
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 0x18003b0dc
cmp eax, 6
je 0x18003b0dc
cmp eax, 5
jbe 0x18003b0e1
movzx eax, r8w
jmp 0x18003b0e1
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 0x18003b125
movzx edx, cl
jmp 0x18003b127
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 0x18003b284
cmp bl, 9
ja 0x18003b284
cmp ebx, 9
jne 0x18003b157
test dl, dl
jne 0x18003b157
mov r14, rdi
mov qword [rbp - 0x21], rdi
jmp 0x18003b20c
lea rdx, [0x1800d0550]
mov ecx, 0x1408
call fcn.180067464
mov r14, rax
lea rdx, [0x1800d0550]
mov ecx, 0x10
call fcn.180067448
test r14, r14
je 0x18003b1e0
mov rcx, r14
test rax, rax
je 0x18003b1d9
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.180069a50
test rdi, rdi
je 0x18003b203
lea rcx, [rbp - 0x29]
call fcn.1800381f0
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 0x18003b20c
call fcn.180066ff4
jmp 0x18003b1f2
test rax, rax
je 0x18003b1f2
mov edx, 0x10
mov rcx, rax
call fcn.180066cec
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 0x18003b51a
mov rax, qword [rbp + 0x67]
mov dword [rax + 0x1c], 0xf
test r14, r14
je 0x18003b4dc
cmp r14, rdi
je 0x18003b4dc
test rdi, rdi
je 0x18003b4d8
lea eax, [rcx - 2]
cmp eax, 1
ja 0x18003b4d8
cmp ebx, 0x80000006
ja 0x18003b2ca
je 0x18003b2ad
cmp ebx, 6
je 0x18003b293
cmp ebx, 7
je 0x18003b3f2
cmp ebx, 9
je 0x18003b293
cmp ebx, 0x80000005
jne 0x18003b2ea
movaps xmmword [rbp - 0x39], xmm0
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.1800402c0
jmp 0x18003b4d8
mov r12d, 0xf
mov dword [rbp - 0xd], r12d
jmp 0x18003b20c
mov ebx, dword [rdi]
mov r8d, 0x1408
mov rdx, r14
mov rcx, rdi
call fcn.180069c60
mov dword [rdi], ebx
jmp 0x18003b4d8
movaps xmmword [rbp - 0x39], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040b90
jmp 0x18003b4d8
cmp ebx, 0x80000007
je 0x18003b4b3
cmp ebx, 0x80000008
je 0x18003b3f2
cmp ebx, 0x80000009
je 0x18003b2f6
mov dword [rbp - 0xd], 0xf
jmp 0x18003b4d8
movaps xmmword [rbp - 0x39], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040b90
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
movups xmm0, xmmword [0x1800cfce8]
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 0x18003b398
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003b398
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 [0x1800cfcf8]
movaps xmmword [rbp - 0x49], xmm0
movaps xmmword [rbp - 0x39], xmm1
movq rcx, xmm1
movq rax, xmm0
cmp rcx, rax
jne 0x18003b4d8
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003b4d8
mov rdx, rdi
mov rcx, r14
call fcn.18003f920
mov eax, dword [r14 + 0x228]
mov dword [rdi + 0x11c], eax
mov eax, dword [r14 + 0x224]
mov dword [rdi + 0x118], eax
jmp 0x18003b4d8
movaps xmmword [rbp - 0x39], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040b90
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
movups xmm0, xmmword [0x1800cfcf8]
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 0x18003b4d8
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003b4d8
mov rdx, rdi
mov rcx, r14
call fcn.18003f920
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 0x18003b4d8
movaps xmmword [rbp - 0x39], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.180040b90
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
mov qword [rbp - 0x21], rsi
test r15, r15
je 0x18003b825
nop word [rax + rax]
mov rbx, qword [r15 + 8]
mov rcx, qword [r15]
call fcn.180066ff4
mov edx, 0x10
mov rcx, r15
call fcn.180066cec
mov r15, rbx
mov qword [rbp - 0x29], rbx
test rbx, rbx
jne 0x18003b4f0
jmp 0x18003b825
mov r8d, 0x1408
mov rdx, r14
mov rcx, qword [r13 + 0x58]
call fcn.180069c60
nop
test r14, r14
je 0x18003b7f1
cmp r14, rdi
je 0x18003b7f1
test rdi, rdi
je 0x18003b7ed
mov eax, dword [rbp + 0x6f]
add eax, 0xfffffffe
cmp eax, 1
ja 0x18003b7ed
cmp ebx, 0x80000006
ja 0x18003b5d3
je 0x18003b5b2
cmp ebx, 6
je 0x18003b598
cmp ebx, 7
je 0x18003b6ff
cmp ebx, 9
je 0x18003b598
cmp ebx, 0x80000005
jne 0x18003b5f3
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, r14
call fcn.1800402c0
jmp 0x18003b7ed
mov ebx, dword [rdi]
mov r8d, 0x1408
mov rdx, r14
mov rcx, rdi
call fcn.180069c60
mov dword [rdi], ebx
jmp 0x18003b7ed
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.180040b90
jmp 0x18003b7ed
cmp ebx, 0x80000007
je 0x18003b7c4
cmp ebx, 0x80000008
je 0x18003b6ff
cmp ebx, 0x80000009
je 0x18003b5ff
mov dword [rbp - 0xd], 0xf
jmp 0x18003b7ed
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.180040b90
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
movups xmm0, xmmword [0x1800cfce8]
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 0x18003b6a5
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003b6a5
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 [0x1800cfcf8]
movaps xmmword [rbp - 0x49], xmm0
movaps xmmword [rbp - 0x39], xmm1
movq rcx, xmm1
movq rax, xmm0
cmp rcx, rax
jne 0x18003b7ed
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003b7ed
mov rdx, rdi
mov rcx, r14
call fcn.18003f920
mov eax, dword [r14 + 0x228]
mov dword [rdi + 0x11c], eax
mov eax, dword [r14 + 0x224]
mov dword [rdi + 0x118], eax
jmp 0x18003b7ed
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.180040b90
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
movups xmm0, xmmword [0x1800cfcf8]
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 0x18003b7ed
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003b7ed
mov rdx, rdi
mov rcx, r14
call fcn.18003f920
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 0x18003b7ed
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.180040b90
mov eax, dword [r14 + 0x774]
mov dword [rdi + 0x170], eax
mov qword [rbp - 0x21], rsi
test r15, r15
je 0x18003b825
nop word [rax + rax]
mov rbx, qword [r15 + 8]
mov rcx, qword [r15]
call fcn.180066ff4
mov edx, 0x10
mov rcx, r15
call fcn.180066cec
mov r15, rbx
mov qword [rbp - 0x29], rbx
test rbx, rbx
jne 0x18003b800
mov rbx, qword [rsp + 0x130]
add rsp, 0xe0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret