Function at 0x180039d60
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 0x18003c3b5
mov rbx, qword [rcx + 0x10]
test rbx, rbx
je 0x18003c3b5
mov eax, dword [rcx + 0x20]
cmp eax, 5
je 0x18003ba03
cmp eax, 7
je 0x18003b7ba
cmp eax, 0x80000005
je 0x18003ae4e
cmp eax, 0x80000006
je 0x18003a4bb
cmp eax, 0x80000007
je 0x180039ddc
mov dword [rcx + 0x1c], 0xf
jmp 0x18003c3b5
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 0x18003c3b5
mov edx, 0x1408
mov rcx, rdi
call fcn.180038480
mov qword [r13 + 0x58], rax
mov rsi, qword [rbx + 0x58]
xor r14d, r14d
mov r12d, r14d
mov qword [rbp - 0x11], 1
mov ecx, 1
mov dword [rbp + 0x6f], ecx
mov r15d, r14d
mov qword [rbp - 0x21], r14
mov qword [rbp - 0x19], rsi
mov edi, r14d
mov qword [rbp - 0x29], r14
movups xmm0, xmmword [rbx + 4]
movaps xmmword [rbp - 0x59], xmm0
movups xmmword [rbp + 0xb], xmm0
test rsi, rsi
je 0x180039ffc
movzx ebx, byte [rsi + 2]
mov eax, dword [rsi]
and eax, 0x80000000
or ebx, eax
mov dword [rbp - 9], ebx
mov r8d, dword [rsi]
mov eax, r8d
shr eax, 0x18
and eax, 0x7f
mov edx, eax
and edx, 0xf
shr eax, 4
test eax, eax
je 0x180039fcf
cmp eax, 6
je 0x180039fcf
cmp eax, 5
jbe 0x180039fd4
movzx eax, r8w
jmp 0x180039fd4
mov eax, 0xffffffff
shl eax, 4
or eax, edx
mov dword [rbp - 1], eax
mov dword [rbp + 0x1b], r14d
mov word [rbp + 0x20], di
mov dword [rbp - 5], 9
mov dword [rbp + 3], 0xc2
cmp r8d, edi
jge 0x18003a01c
movzx edx, cl
jmp 0x18003a01e
mov ebx, r14d
mov dword [rbp - 9], ebx
mov qword [rbp - 5], 9
mov dword [rbp + 0x1b], r14d
mov word [rbp + 0x20], bx
mov dword [rbp + 3], 0xc2
mov eax, r14d
xor dl, dl
mov byte [rbp + 7], dl
mov byte [rbp + 0x1f], dil
cmp eax, 0xc2
ja 0x18003a17b
cmp bl, 9
ja 0x18003a17b
cmp ebx, 9
jne 0x18003a04e
test dl, dl
jne 0x18003a04e
mov r15, rsi
mov qword [rbp - 0x21], rsi
jmp 0x18003a103
lea rdx, [0x1800d28e0]
mov ecx, 0x1408
call fcn.180068cf4
mov r15, rax
lea rdx, [0x1800d28e0]
mov ecx, 0x10
call fcn.180068cd8
test r15, r15
je 0x18003a0d7
mov rcx, r15
test rax, rax
je 0x18003a0d0
mov qword [rax], r15
mov qword [rax + 8], r14
mov rdi, rax
mov qword [rbp - 0x29], rax
mov qword [rbp - 0x21], r15
xor edx, edx
mov r8d, 0x1408
call fcn.18006b2e0
test rsi, rsi
je 0x18003a0fa
lea rcx, [rbp - 0x29]
call fcn.180038e00
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 rsi, qword [rbp - 0x19]
mov r15, qword [rbp - 0x21]
mov rdi, qword [rbp - 0x29]
jmp 0x18003a103
call fcn.180068884
jmp 0x18003a0e9
test rax, rax
je 0x18003a0e9
mov edx, 0x10
mov rcx, rax
call fcn.180068578
mov r15, r14
mov qword [rbp - 0x21], r14
mov r12d, 0xa
mov dword [rbp - 0xd], r12d
mov ecx, 1
movaps xmm0, xmmword [rbp - 0x59]
test r12d, r12d
je 0x18003a44a
mov rax, qword [rbp + 0x67]
mov dword [rax + 0x1c], 0xf
test r15, r15
je 0x18003a411
cmp r15, rsi
je 0x18003a411
test rsi, rsi
je 0x18003a40d
lea eax, [rcx - 2]
cmp eax, 1
ja 0x18003a40d
cmp ebx, 0x80000006
ja 0x18003a1c1
je 0x18003a1a4
cmp ebx, 6
je 0x18003a18a
cmp ebx, 7
je 0x18003a326
cmp ebx, 9
je 0x18003a18a
cmp ebx, 0x80000005
jne 0x18003a1e1
movaps xmmword [rbp - 0x59], xmm0
lea r8, [rbp - 0x59]
mov rdx, rsi
mov rcx, r15
call fcn.180041250
jmp 0x18003a40d
mov r12d, 0xf
mov dword [rbp - 0xd], r12d
jmp 0x18003a103
mov ebx, dword [rsi]
mov r8d, 0x1408
mov rdx, r15
mov rcx, rsi
call fcn.18006b4f0
mov dword [rsi], ebx
jmp 0x18003a40d
movaps xmmword [rbp - 0x59], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x59]
mov rdx, rsi
mov rcx, r15
call fcn.180041b20
jmp 0x18003a40d
cmp ebx, 0x80000007
je 0x18003a3e8
cmp ebx, 0x80000008
je 0x18003a326
cmp ebx, 0x80000009
je 0x18003a1ed
mov dword [rbp - 0xd], 0xf
jmp 0x18003a40d
movaps xmmword [rbp - 0x49], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x49]
mov rdx, rsi
mov rcx, r15
call fcn.180041b20
mov eax, dword [r15 + 0x774]
mov dword [rsi + 0x170], eax
movups xmm0, xmmword [0x1800d1ff0]
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 0x18003a2cc
mov rax, qword [rbp - 0x41]
cmp rax, qword [rbp - 0x31]
jne 0x18003a2cc
mov eax, dword [r15 + 0x168]
mov dword [rsi + 0x168], eax
mov eax, dword [r15 + 0x18]
mov dword [rsi + 0x18], eax
movzx eax, word [r15 + 0x82]
mov word [rsi + 0x82], ax
mov eax, dword [r15 + 0x4c]
xor eax, dword [rsi + 0x4c]
and eax, 0x20
xor dword [rsi + 0x4c], eax
mov eax, dword [r15 + 0x2c]
mov dword [rsi + 0x2c], eax
mov eax, dword [r15 + 0xb0]
mov dword [rsi + 0xb0], eax
mov eax, dword [r15 + 0x98]
mov dword [rsi + 0x98], eax
mov ecx, dword [rsi + 0xb8]
xor ecx, dword [r15 + 0xb8]
and ecx, 0x200000
xor ecx, dword [rsi + 0xb8]
mov dword [rsi + 0xb8], ecx
mov eax, ecx
xor eax, dword [r15 + 0xb8]
and eax, 0x400000
xor eax, ecx
mov dword [rsi + 0xb8], eax
movups xmm0, xmmword [0x1800d2000]
movaps xmmword [rbp - 0x49], xmm0
movaps xmmword [rbp - 0x39], xmm1
movq rcx, xmm1
movq rax, xmm0
cmp rcx, rax
jne 0x18003a40d
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003a40d
mov rdx, rsi
mov rcx, r15
call fcn.180040890
mov eax, dword [r15 + 0x220]
mov dword [rsi + 0x11c], eax
mov eax, dword [r15 + 0x21c]
mov dword [rsi + 0x118], eax
jmp 0x18003a40d
movaps xmmword [rbp - 0x39], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rsi
mov rcx, r15
call fcn.180041b20
mov eax, dword [r15 + 0x774]
mov dword [rsi + 0x170], eax
movups xmm0, xmmword [0x1800d2000]
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 0x18003a40d
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003a40d
mov rdx, rsi
mov rcx, r15
call fcn.180040890
mov ecx, dword [r15 + 0x220]
lea eax, [rcx - 8]
mov r8d, r14d
cmp ecx, 8
cmovge r8d, eax
shl r8d, 0xc
xor r8d, dword [rsi + 0xb8]
and r8d, 0x7000
xor r8d, dword [rsi + 0xb8]
mov dword [rsi + 0xb8], r8d
mov ecx, dword [r15 + 0x21c]
lea eax, [rcx - 8]
mov edx, r14d
cmp ecx, 8
cmovge edx, eax
shl edx, 0xf
xor edx, r8d
and edx, 0x38000
xor edx, r8d
mov dword [rsi + 0xb8], edx
jmp 0x18003a40d
movaps xmmword [rbp - 0x39], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rsi
mov rcx, r15
call fcn.180041b20
mov eax, dword [r15 + 0x774]
mov dword [rsi + 0x170], eax
mov qword [rbp - 0x21], r14
test rdi, rdi
je 0x18003c3b5
nop word [rax + rax]
mov rbx, qword [rdi + 8]
mov rcx, qword [rdi]
call fcn.180068884
mov edx, 0x10
mov rcx, rdi
call fcn.180068578
mov rdi, rbx
mov qword [rbp - 0x29], rbx
test rbx, rbx
jne 0x18003a420
jmp 0x18003c3b5
mov r8d, 0x1408
mov rdx, r15
mov rcx, qword [r13 + 0x58]
call fcn.18006b4f0
nop
test r15, r15
je 0x18003a488
cmp r15, rsi
je 0x18003a488
test rsi, rsi
je 0x18003a484
mov eax, dword [rbp + 0x6f]
add eax, 0xfffffffe
cmp eax, 1
ja 0x18003a484
lea rcx, [rbp - 0x29]
call fcn.18003f5c0
mov rdi, qword [rbp - 0x29]
mov qword [rbp - 0x21], r14
test rdi, rdi
je 0x18003c3b5
mov rbx, qword [rdi + 8]
mov rcx, qword [rdi]
call fcn.180068884
mov edx, 0x10
mov rcx, rdi
call fcn.180068578
mov rdi, rbx
mov qword [rbp - 0x29], rbx
test rbx, rbx
jne 0x18003a491
jmp 0x18003c3b5
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 0x18003c3b5
mov edx, 0x1408
mov rcx, rdi
call fcn.180038480
mov qword [r13 + 0x58], rax
mov rdi, qword [rbx + 0x58]
xor r14d, r14d
mov r12d, r14d
mov qword [rbp - 0x11], 1
mov ecx, 1
mov dword [rbp + 0x6f], ecx
mov esi, r14d
mov qword [rbp - 0x21], r14
mov qword [rbp - 0x19], rdi
mov r15d, r14d
mov qword [rbp - 0x29], r14
movups xmm0, xmmword [rbx + 4]
movaps xmmword [rbp - 0x59], xmm0
movups xmmword [rbp + 0xb], xmm0
test rdi, rdi
je 0x18003a6db
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 0x18003a6ae
cmp eax, 6
je 0x18003a6ae
cmp eax, 5
jbe 0x18003a6b3
movzx eax, r8w
jmp 0x18003a6b3
mov eax, 0xffffffff
shl eax, 4
or eax, edx
mov dword [rbp - 1], eax
mov dword [rbp + 0x1b], r14d
mov word [rbp + 0x20], si
mov dword [rbp - 5], 9
mov dword [rbp + 3], 0xc2
cmp r8d, esi
jge 0x18003a6fb
movzx edx, cl
jmp 0x18003a6fd
mov ebx, r14d
mov dword [rbp - 9], ebx
mov qword [rbp - 5], 9
mov dword [rbp + 0x1b], r14d
mov word [rbp + 0x20], bx
mov dword [rbp + 3], 0xc2
mov eax, r14d
xor dl, dl
mov byte [rbp + 7], dl
mov byte [rbp + 0x1f], sil
cmp eax, 0xc2
ja 0x18003a85a
cmp bl, 9
ja 0x18003a85a
cmp ebx, 9
jne 0x18003a72d
test dl, dl
jne 0x18003a72d
mov rsi, rdi
mov qword [rbp - 0x21], rdi
jmp 0x18003a7e2
lea rdx, [0x1800d28e0]
mov ecx, 0x1408
call fcn.180068cf4
mov rsi, rax
lea rdx, [0x1800d28e0]
mov ecx, 0x10
call fcn.180068cd8
test rsi, rsi
je 0x18003a7b6
mov rcx, rsi
test rax, rax
je 0x18003a7af
mov qword [rax], rsi
mov qword [rax + 8], r14
mov r15, rax
mov qword [rbp - 0x29], rax
mov qword [rbp - 0x21], rsi
xor edx, edx
mov r8d, 0x1408
call fcn.18006b2e0
test rdi, rdi
je 0x18003a7d9
lea rcx, [rbp - 0x29]
call fcn.180038e00
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 rsi, qword [rbp - 0x21]
mov r15, qword [rbp - 0x29]
jmp 0x18003a7e2
call fcn.180068884
jmp 0x18003a7c8
test rax, rax
je 0x18003a7c8
mov edx, 0x10
mov rcx, rax
call fcn.180068578
mov rsi, r14
mov qword [rbp - 0x21], r14
mov r12d, 0xa
mov dword [rbp - 0xd], r12d
mov ecx, 1
movaps xmm0, xmmword [rbp - 0x59]
test r12d, r12d
je 0x18003ab1a
mov rax, qword [rbp + 0x67]
mov dword [rax + 0x1c], 0xf
test rsi, rsi
je 0x18003aadc
cmp rsi, rdi
je 0x18003aadc
test rdi, rdi
je 0x18003aad8
lea eax, [rcx - 2]
cmp eax, 1
ja 0x18003aad8
cmp ebx, 0x80000006
ja 0x18003a8a0
je 0x18003a883
cmp ebx, 6
je 0x18003a869
cmp ebx, 7
je 0x18003a9f5
cmp ebx, 9
je 0x18003a869
cmp ebx, 0x80000005
jne 0x18003a8c0
movaps xmmword [rbp - 0x39], xmm0
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, rsi
call fcn.180041250
jmp 0x18003aad8
mov r12d, 0xf
mov dword [rbp - 0xd], r12d
jmp 0x18003a7e2
mov ebx, dword [rdi]
mov r8d, 0x1408
mov rdx, rsi
mov rcx, rdi
call fcn.18006b4f0
mov dword [rdi], ebx
jmp 0x18003aad8
movaps xmmword [rbp - 0x39], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, rsi
call fcn.180041b20
jmp 0x18003aad8
cmp ebx, 0x80000007
je 0x18003aab4
cmp ebx, 0x80000008
je 0x18003a9f5
cmp ebx, 0x80000009
je 0x18003a8cc
mov dword [rbp - 0xd], 0xf
jmp 0x18003aad8
movaps xmmword [rbp - 0x39], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, rsi
call fcn.180041b20
mov eax, dword [rsi + 0x774]
mov dword [rdi + 0x170], eax
movups xmm0, xmmword [0x1800d1ff0]
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 0x18003a99d
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003a99d
mov eax, dword [rsi + 0x168]
mov dword [rdi + 0x168], eax
mov eax, dword [rsi + 0x18]
mov dword [rdi + 0x18], eax
movzx eax, word [rsi + 0x82]
mov word [rdi + 0x82], ax
mov eax, dword [rsi + 0x4c]
xor eax, dword [rdi + 0x4c]
and eax, 0x20
xor dword [rdi + 0x4c], eax
mov eax, dword [rsi + 0x2c]
mov dword [rdi + 0x2c], eax
mov eax, dword [rsi + 0xb0]
mov dword [rdi + 0xb0], eax
mov eax, dword [rsi + 0x98]
mov dword [rdi + 0x98], eax
mov ecx, dword [rsi + 0xb8]
xor ecx, dword [rdi + 0xb8]
and ecx, 0x200000
xor ecx, dword [rdi + 0xb8]
mov dword [rdi + 0xb8], ecx
mov eax, ecx
xor eax, dword [rsi + 0xb8]
and eax, 0x400000
xor eax, ecx
mov dword [rdi + 0xb8], eax
movups xmm0, xmmword [0x1800d2000]
movaps xmmword [rbp - 0x49], xmm0
movaps xmmword [rbp - 0x39], xmm1
movq rcx, xmm1
movq rax, xmm0
cmp rcx, rax
jne 0x18003aad8
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003aad8
mov rdx, rdi
mov rcx, rsi
call fcn.180040890
mov eax, dword [rsi + 0x220]
mov dword [rdi + 0x11c], eax
mov eax, dword [rsi + 0x21c]
mov dword [rdi + 0x118], eax
jmp 0x18003aad8
movaps xmmword [rbp - 0x39], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, rsi
call fcn.180041b20
mov eax, dword [rsi + 0x774]
mov dword [rdi + 0x170], eax
movups xmm0, xmmword [0x1800d2000]
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 0x18003aad8
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003aad8
mov rdx, rdi
mov rcx, rsi
call fcn.180040890
mov ecx, dword [rsi + 0x220]
lea eax, [rcx - 8]
mov r8d, r14d
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 [rsi + 0x21c]
lea eax, [rcx - 8]
mov edx, r14d
cmp ecx, 8
cmovge edx, eax
shl edx, 0xf
xor edx, r8d
and edx, 0x38000
xor edx, r8d
mov dword [rdi + 0xb8], edx
jmp 0x18003aad8
movaps xmmword [rbp - 0x39], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, rsi
call fcn.180041b20
mov eax, dword [rsi + 0x774]
mov dword [rdi + 0x170], eax
mov qword [rbp - 0x21], r14
test r15, r15
je 0x18003c3b5
nop word [rax + rax]
mov rbx, qword [r15 + 8]
mov rcx, qword [r15]
call fcn.180068884
mov edx, 0x10
mov rcx, r15
call fcn.180068578
mov r15, rbx
mov qword [rbp - 0x29], rbx
test rbx, rbx
jne 0x18003aaf0
jmp 0x18003c3b5
mov r8d, 0x1408
mov rdx, rsi
mov rcx, qword [r13 + 0x58]
call fcn.18006b4f0
nop
test rsi, rsi
je 0x18003ae1b
cmp rsi, rdi
je 0x18003ae1b
test rdi, rdi
je 0x18003ae17
mov eax, dword [rbp + 0x6f]
add eax, 0xfffffffe
cmp eax, 1
ja 0x18003ae17
cmp ebx, 0x80000006
ja 0x18003abd3
je 0x18003abb2
cmp ebx, 6
je 0x18003ab98
cmp ebx, 7
je 0x18003ad2c
cmp ebx, 9
je 0x18003ab98
cmp ebx, 0x80000005
jne 0x18003abf3
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, rsi
call fcn.180041250
jmp 0x18003ae17
mov ebx, dword [rdi]
mov r8d, 0x1408
mov rdx, rsi
mov rcx, rdi
call fcn.18006b4f0
mov dword [rdi], ebx
jmp 0x18003ae17
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, rsi
call fcn.180041b20
jmp 0x18003ae17
cmp ebx, 0x80000007
je 0x18003adef
cmp ebx, 0x80000008
je 0x18003ad2c
cmp ebx, 0x80000009
je 0x18003abff
mov dword [rbp - 0xd], 0xf
jmp 0x18003ae17
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, rsi
call fcn.180041b20
mov eax, dword [rsi + 0x774]
mov dword [rdi + 0x170], eax
movups xmm0, xmmword [0x1800d1ff0]
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 0x18003acd4
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003acd4
mov eax, dword [rsi + 0x168]
mov dword [rdi + 0x168], eax
mov eax, dword [rsi + 0x18]
mov dword [rdi + 0x18], eax
movzx eax, word [rsi + 0x82]
mov word [rdi + 0x82], ax
mov eax, dword [rsi + 0x4c]
xor eax, dword [rdi + 0x4c]
and eax, 0x20
xor dword [rdi + 0x4c], eax
mov eax, dword [rsi + 0x2c]
mov dword [rdi + 0x2c], eax
mov eax, dword [rsi + 0xb0]
mov dword [rdi + 0xb0], eax
mov eax, dword [rsi + 0x98]
mov dword [rdi + 0x98], eax
mov ecx, dword [rsi + 0xb8]
xor ecx, dword [rdi + 0xb8]
and ecx, 0x200000
xor ecx, dword [rdi + 0xb8]
mov dword [rdi + 0xb8], ecx
mov eax, ecx
xor eax, dword [rsi + 0xb8]
and eax, 0x400000
xor eax, ecx
mov dword [rdi + 0xb8], eax
movups xmm0, xmmword [0x1800d2000]
movaps xmmword [rbp - 0x49], xmm0
movaps xmmword [rbp - 0x39], xmm1
movq rcx, xmm1
movq rax, xmm0
cmp rcx, rax
jne 0x18003ae17
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003ae17
mov rdx, rdi
mov rcx, rsi
call fcn.180040890
mov eax, dword [rsi + 0x220]
mov dword [rdi + 0x11c], eax
mov eax, dword [rsi + 0x21c]
mov dword [rdi + 0x118], eax
jmp 0x18003ae17
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, rsi
call fcn.180041b20
mov eax, dword [rsi + 0x774]
mov dword [rdi + 0x170], eax
movups xmm0, xmmword [0x1800d2000]
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 0x18003ae17
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003ae17
mov rdx, rdi
mov rcx, rsi
call fcn.180040890
mov ecx, dword [rsi + 0x220]
lea eax, [rcx - 8]
mov r8d, r14d
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 [rsi + 0x21c]
lea eax, [rcx - 8]
mov edx, r14d
cmp ecx, 8
cmovge edx, eax
shl edx, 0xf
xor edx, r8d
and edx, 0x38000
xor edx, r8d
mov dword [rdi + 0xb8], edx
jmp 0x18003ae17
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, rsi
call fcn.180041b20
mov eax, dword [rsi + 0x774]
mov dword [rdi + 0x170], eax
mov qword [rbp - 0x21], r14
test r15, r15
je 0x18003c3b5
mov rbx, qword [r15 + 8]
mov rcx, qword [r15]
call fcn.180068884
mov edx, 0x10
mov rcx, r15
call fcn.180068578
mov r15, rbx
mov qword [rbp - 0x29], rbx
test rbx, rbx
jne 0x18003ae24
jmp 0x18003c3b5
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 0x18003c3b5
mov edx, 0x1408
mov rcx, rdi
call fcn.180038480
mov qword [r13 + 0x58], rax
mov rdi, qword [rbx + 0x58]
xor r14d, r14d
mov r12d, r14d
mov qword [rbp - 0x11], 1
mov ecx, 1
mov dword [rbp + 0x6f], ecx
mov esi, r14d
mov qword [rbp - 0x21], r14
mov qword [rbp - 0x19], rdi
mov r15d, r14d
mov qword [rbp - 0x29], r14
movups xmm0, xmmword [rbx + 4]
movaps xmmword [rbp - 0x59], xmm0
movups xmmword [rbp + 0xb], xmm0
test rdi, rdi
je 0x18003b049
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 0x18003b01c
cmp eax, 6
je 0x18003b01c
cmp eax, 5
jbe 0x18003b021
movzx eax, r8w
jmp 0x18003b021
mov eax, 0xffffffff
shl eax, 4
or eax, edx
mov dword [rbp - 1], eax
mov dword [rbp + 0x1b], r14d
mov word [rbp + 0x20], si
mov dword [rbp - 5], 9
mov dword [rbp + 3], 0xc2
cmp r8d, esi
jge 0x18003b069
movzx edx, cl
jmp 0x18003b06b
mov ebx, r14d
mov dword [rbp - 9], ebx
mov qword [rbp - 5], 9
mov dword [rbp + 0x1b], r14d
mov word [rbp + 0x20], bx
mov dword [rbp + 3], 0xc2
mov eax, r14d
xor dl, dl
mov byte [rbp + 7], dl
mov byte [rbp + 0x1f], sil
cmp eax, 0xc2
ja 0x18003b1c8
cmp bl, 9
ja 0x18003b1c8
cmp ebx, 9
jne 0x18003b09b
test dl, dl
jne 0x18003b09b
mov rsi, rdi
mov qword [rbp - 0x21], rdi
jmp 0x18003b150
lea rdx, [0x1800d28e0]
mov ecx, 0x1408
call fcn.180068cf4
mov rsi, rax
lea rdx, [0x1800d28e0]
mov ecx, 0x10
call fcn.180068cd8
test rsi, rsi
je 0x18003b124
mov rcx, rsi
test rax, rax
je 0x18003b11d
mov qword [rax], rsi
mov qword [rax + 8], r14
mov r15, rax
mov qword [rbp - 0x29], rax
mov qword [rbp - 0x21], rsi
xor edx, edx
mov r8d, 0x1408
call fcn.18006b2e0
test rdi, rdi
je 0x18003b147
lea rcx, [rbp - 0x29]
call fcn.180038e00
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 rsi, qword [rbp - 0x21]
mov r15, qword [rbp - 0x29]
jmp 0x18003b150
call fcn.180068884
jmp 0x18003b136
test rax, rax
je 0x18003b136
mov edx, 0x10
mov rcx, rax
call fcn.180068578
mov rsi, r14
mov qword [rbp - 0x21], r14
mov r12d, 0xa
mov dword [rbp - 0xd], r12d
mov ecx, 1
movaps xmm0, xmmword [rbp - 0x59]
test r12d, r12d
je 0x18003b47d
mov rax, qword [rbp + 0x67]
mov dword [rax + 0x1c], 0xf
test rsi, rsi
je 0x18003b44a
cmp rsi, rdi
je 0x18003b44a
test rdi, rdi
je 0x18003b446
lea eax, [rcx - 2]
cmp eax, 1
ja 0x18003b446
cmp ebx, 0x80000006
ja 0x18003b20e
je 0x18003b1f1
cmp ebx, 6
je 0x18003b1d7
cmp ebx, 7
je 0x18003b363
cmp ebx, 9
je 0x18003b1d7
cmp ebx, 0x80000005
jne 0x18003b22e
movaps xmmword [rbp - 0x39], xmm0
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, rsi
call fcn.180041250
jmp 0x18003b446
mov r12d, 0xf
mov dword [rbp - 0xd], r12d
jmp 0x18003b150
mov ebx, dword [rdi]
mov r8d, 0x1408
mov rdx, rsi
mov rcx, rdi
call fcn.18006b4f0
mov dword [rdi], ebx
jmp 0x18003b446
movaps xmmword [rbp - 0x39], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, rsi
call fcn.180041b20
jmp 0x18003b446
cmp ebx, 0x80000007
je 0x18003b422
cmp ebx, 0x80000008
je 0x18003b363
cmp ebx, 0x80000009
je 0x18003b23a
mov dword [rbp - 0xd], 0xf
jmp 0x18003b446
movaps xmmword [rbp - 0x39], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, rsi
call fcn.180041b20
mov eax, dword [rsi + 0x774]
mov dword [rdi + 0x170], eax
movups xmm0, xmmword [0x1800d1ff0]
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 0x18003b30b
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003b30b
mov eax, dword [rsi + 0x168]
mov dword [rdi + 0x168], eax
mov eax, dword [rsi + 0x18]
mov dword [rdi + 0x18], eax
movzx eax, word [rsi + 0x82]
mov word [rdi + 0x82], ax
mov eax, dword [rsi + 0x4c]
xor eax, dword [rdi + 0x4c]
and eax, 0x20
xor dword [rdi + 0x4c], eax
mov eax, dword [rsi + 0x2c]
mov dword [rdi + 0x2c], eax
mov eax, dword [rsi + 0xb0]
mov dword [rdi + 0xb0], eax
mov eax, dword [rsi + 0x98]
mov dword [rdi + 0x98], eax
mov ecx, dword [rsi + 0xb8]
xor ecx, dword [rdi + 0xb8]
and ecx, 0x200000
xor ecx, dword [rdi + 0xb8]
mov dword [rdi + 0xb8], ecx
mov eax, ecx
xor eax, dword [rsi + 0xb8]
and eax, 0x400000
xor eax, ecx
mov dword [rdi + 0xb8], eax
movups xmm0, xmmword [0x1800d2000]
movaps xmmword [rbp - 0x49], xmm0
movaps xmmword [rbp - 0x39], xmm1
movq rcx, xmm1
movq rax, xmm0
cmp rcx, rax
jne 0x18003b446
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003b446
mov rdx, rdi
mov rcx, rsi
call fcn.180040890
mov eax, dword [rsi + 0x220]
mov dword [rdi + 0x11c], eax
mov eax, dword [rsi + 0x21c]
mov dword [rdi + 0x118], eax
jmp 0x18003b446
movaps xmmword [rbp - 0x39], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, rsi
call fcn.180041b20
mov eax, dword [rsi + 0x774]
mov dword [rdi + 0x170], eax
movups xmm0, xmmword [0x1800d2000]
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 0x18003b446
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003b446
mov rdx, rdi
mov rcx, rsi
call fcn.180040890
mov ecx, dword [rsi + 0x220]
lea eax, [rcx - 8]
mov r8d, r14d
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 [rsi + 0x21c]
lea eax, [rcx - 8]
mov edx, r14d
cmp ecx, 8
cmovge edx, eax
shl edx, 0xf
xor edx, r8d
and edx, 0x38000
xor edx, r8d
mov dword [rdi + 0xb8], edx
jmp 0x18003b446
movaps xmmword [rbp - 0x39], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, rsi
call fcn.180041b20
mov eax, dword [rsi + 0x774]
mov dword [rdi + 0x170], eax
mov qword [rbp - 0x21], r14
test r15, r15
je 0x18003c3b5
mov rbx, qword [r15 + 8]
mov rcx, qword [r15]
call fcn.180068884
mov edx, 0x10
mov rcx, r15
call fcn.180068578
mov r15, rbx
mov qword [rbp - 0x29], rbx
test rbx, rbx
jne 0x18003b453
jmp 0x18003c3b5
mov r8d, 0x1408
mov rdx, rsi
mov rcx, qword [r13 + 0x58]
call fcn.18006b4f0
nop
test rsi, rsi
je 0x18003b77e
cmp rsi, rdi
je 0x18003b77e
test rdi, rdi
je 0x18003b77a
mov eax, dword [rbp + 0x6f]
add eax, 0xfffffffe
cmp eax, 1
ja 0x18003b77a
cmp ebx, 0x80000006
ja 0x18003b536
je 0x18003b515
cmp ebx, 6
je 0x18003b4fb
cmp ebx, 7
je 0x18003b68f
cmp ebx, 9
je 0x18003b4fb
cmp ebx, 0x80000005
jne 0x18003b556
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, rsi
call fcn.180041250
jmp 0x18003b77a
mov ebx, dword [rdi]
mov r8d, 0x1408
mov rdx, rsi
mov rcx, rdi
call fcn.18006b4f0
mov dword [rdi], ebx
jmp 0x18003b77a
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, rsi
call fcn.180041b20
jmp 0x18003b77a
cmp ebx, 0x80000007
je 0x18003b752
cmp ebx, 0x80000008
je 0x18003b68f
cmp ebx, 0x80000009
je 0x18003b562
mov dword [rbp - 0xd], 0xf
jmp 0x18003b77a
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, rsi
call fcn.180041b20
mov eax, dword [rsi + 0x774]
mov dword [rdi + 0x170], eax
movups xmm0, xmmword [0x1800d1ff0]
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 0x18003b637
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003b637
mov eax, dword [rsi + 0x168]
mov dword [rdi + 0x168], eax
mov eax, dword [rsi + 0x18]
mov dword [rdi + 0x18], eax
movzx eax, word [rsi + 0x82]
mov word [rdi + 0x82], ax
mov eax, dword [rsi + 0x4c]
xor eax, dword [rdi + 0x4c]
and eax, 0x20
xor dword [rdi + 0x4c], eax
mov eax, dword [rsi + 0x2c]
mov dword [rdi + 0x2c], eax
mov eax, dword [rsi + 0xb0]
mov dword [rdi + 0xb0], eax
mov eax, dword [rsi + 0x98]
mov dword [rdi + 0x98], eax
mov ecx, dword [rsi + 0xb8]
xor ecx, dword [rdi + 0xb8]
and ecx, 0x200000
xor ecx, dword [rdi + 0xb8]
mov dword [rdi + 0xb8], ecx
mov eax, ecx
xor eax, dword [rsi + 0xb8]
and eax, 0x400000
xor eax, ecx
mov dword [rdi + 0xb8], eax
movups xmm0, xmmword [0x1800d2000]
movaps xmmword [rbp - 0x49], xmm0
movaps xmmword [rbp - 0x39], xmm1
movq rcx, xmm1
movq rax, xmm0
cmp rcx, rax
jne 0x18003b77a
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003b77a
mov rdx, rdi
mov rcx, rsi
call fcn.180040890
mov eax, dword [rsi + 0x220]
mov dword [rdi + 0x11c], eax
mov eax, dword [rsi + 0x21c]
mov dword [rdi + 0x118], eax
jmp 0x18003b77a
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, rsi
call fcn.180041b20
mov eax, dword [rsi + 0x774]
mov dword [rdi + 0x170], eax
movups xmm0, xmmword [0x1800d2000]
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 0x18003b77a
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003b77a
mov rdx, rdi
mov rcx, rsi
call fcn.180040890
mov ecx, dword [rsi + 0x220]
lea eax, [rcx - 8]
mov r8d, r14d
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 [rsi + 0x21c]
lea eax, [rcx - 8]
mov edx, r14d
cmp ecx, 8
cmovge edx, eax
shl edx, 0xf
xor edx, r8d
and edx, 0x38000
xor edx, r8d
mov dword [rdi + 0xb8], edx
jmp 0x18003b77a
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, rsi
call fcn.180041b20
mov eax, dword [rsi + 0x774]
mov dword [rdi + 0x170], eax
mov qword [rbp - 0x21], r14
test r15, r15
je 0x18003c3b5
nop word [rax + rax]
mov rbx, qword [r15 + 8]
mov rcx, qword [r15]
call fcn.180068884
mov edx, 0x10
mov rcx, r15
call fcn.180068578
mov r15, rbx
mov qword [rbp - 0x29], rbx
test rbx, rbx
jne 0x18003b790
jmp 0x18003c3b5
xor r14d, r14d
mov dword [rbp + 0x67], r14d
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 ecx, eax
mov dword [r13 + 0x44], ecx
mov eax, ecx
xor eax, dword [rbx + 0x44]
and eax, 0x20000
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], r14
je 0x18003c3b5
mov edx, 0x1408
mov rcx, rdi
call fcn.180038480
mov qword [r13 + 0x58], rax
movups xmm0, xmmword [rbx + 4]
movaps xmmword [rbp - 0x39], xmm0
mov dword [rsp + 0x58], r14d
mov byte [rsp + 0x50], r14b
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x40], r14
mov byte [rsp + 0x38], r14b
mov dword [rsp + 0x30], r14d
lea rax, [rbp - 0x39]
mov qword [rsp + 0x28], rax
mov byte [rsp + 0x20], r14b
lea r9d, [r14 + 1]
lea r8, [rbp + 0x67]
mov rdx, qword [rbx + 0x58]
lea rcx, [rbp - 0x29]
call fcn.180037ed0
nop
cmp dword [rbp + 0x67], r14d
je 0x18003b9e1
mov dword [rdi + 0x1c], 0xf
lea rcx, [rbp - 0x29]
call fcn.180038310
jmp 0x18003c3b5
mov r8d, 0x1408
mov rdx, qword [rbp - 0x21]
mov rcx, qword [r13 + 0x58]
call fcn.18006b4f0
nop
lea rcx, [rbp - 0x29]
call fcn.180038310
jmp 0x18003c3b5
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, 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 [rdi + 0x20], 5
jne 0x18003bb85
and ecx, 0xfffffc3f
mov eax, dword [rbx + 0x44]
and eax, 0x1c0
or ecx, eax
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 0x18003c3b5
mov edx, 0x1408
mov rcx, rdi
call fcn.180038480
mov qword [r13 + 0x58], rax
mov rdi, qword [rbx + 0x58]
xor r14d, r14d
mov r12d, r14d
mov qword [rbp - 0x11], 1
mov ecx, 1
mov dword [rbp + 0x6f], ecx
mov esi, r14d
mov qword [rbp - 0x21], r14
mov qword [rbp - 0x19], rdi
mov r15d, r14d
mov qword [rbp - 0x29], r14
movups xmm0, xmmword [rbx + 4]
movaps xmmword [rbp - 0x59], xmm0
movups xmmword [rbp + 0xb], xmm0
test rdi, rdi
je 0x18003bc4e
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 0x18003bc21
cmp eax, 6
je 0x18003bc21
cmp eax, 5
jbe 0x18003bc26
movzx eax, r8w
jmp 0x18003bc26
mov eax, 0xffffffff
shl eax, 4
or eax, edx
mov dword [rbp - 1], eax
mov dword [rbp + 0x1b], r14d
mov word [rbp + 0x20], si
mov dword [rbp - 5], 9
mov dword [rbp + 3], 0xc2
cmp r8d, esi
jge 0x18003bc6e
movzx edx, cl
jmp 0x18003bc70
mov ebx, r14d
mov dword [rbp - 9], ebx
mov qword [rbp - 5], 9
mov dword [rbp + 0x1b], r14d
mov word [rbp + 0x20], bx
mov dword [rbp + 3], 0xc2
mov eax, r14d
xor dl, dl
mov byte [rbp + 7], dl
mov byte [rbp + 0x1f], sil
cmp eax, 0xc2
ja 0x18003bdcd
cmp bl, 9
ja 0x18003bdcd
cmp ebx, 9
jne 0x18003bca0
test dl, dl
jne 0x18003bca0
mov rsi, rdi
mov qword [rbp - 0x21], rdi
jmp 0x18003bd55
lea rdx, [0x1800d28e0]
mov ecx, 0x1408
call fcn.180068cf4
mov rsi, rax
lea rdx, [0x1800d28e0]
mov ecx, 0x10
call fcn.180068cd8
test rsi, rsi
je 0x18003bd29
mov rcx, rsi
test rax, rax
je 0x18003bd22
mov qword [rax], rsi
mov qword [rax + 8], r14
mov r15, rax
mov qword [rbp - 0x29], rax
mov qword [rbp - 0x21], rsi
xor edx, edx
mov r8d, 0x1408
call fcn.18006b2e0
test rdi, rdi
je 0x18003bd4c
lea rcx, [rbp - 0x29]
call fcn.180038e00
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 rsi, qword [rbp - 0x21]
mov r15, qword [rbp - 0x29]
jmp 0x18003bd55
call fcn.180068884
jmp 0x18003bd3b
test rax, rax
je 0x18003bd3b
mov edx, 0x10
mov rcx, rax
call fcn.180068578
mov rsi, r14
mov qword [rbp - 0x21], r14
mov r12d, 0xa
mov dword [rbp - 0xd], r12d
mov ecx, 1
movaps xmm0, xmmword [rbp - 0x59]
test r12d, r12d
je 0x18003c08a
mov rax, qword [rbp + 0x67]
mov dword [rax + 0x1c], 0xf
test rsi, rsi
je 0x18003c04f
cmp rsi, rdi
je 0x18003c04f
test rdi, rdi
je 0x18003c04b
lea eax, [rcx - 2]
cmp eax, 1
ja 0x18003c04b
cmp ebx, 0x80000006
ja 0x18003be13
je 0x18003bdf6
cmp ebx, 6
je 0x18003bddc
cmp ebx, 7
je 0x18003bf68
cmp ebx, 9
je 0x18003bddc
cmp ebx, 0x80000005
jne 0x18003be33
movaps xmmword [rbp - 0x39], xmm0
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, rsi
call fcn.180041250
jmp 0x18003c04b
mov r12d, 0xf
mov dword [rbp - 0xd], r12d
jmp 0x18003bd55
mov ebx, dword [rdi]
mov r8d, 0x1408
mov rdx, rsi
mov rcx, rdi
call fcn.18006b4f0
mov dword [rdi], ebx
jmp 0x18003c04b
movaps xmmword [rbp - 0x39], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, rsi
call fcn.180041b20
jmp 0x18003c04b
cmp ebx, 0x80000007
je 0x18003c027
cmp ebx, 0x80000008
je 0x18003bf68
cmp ebx, 0x80000009
je 0x18003be3f
mov dword [rbp - 0xd], 0xf
jmp 0x18003c04b
movaps xmmword [rbp - 0x39], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, rsi
call fcn.180041b20
mov eax, dword [rsi + 0x774]
mov dword [rdi + 0x170], eax
movups xmm0, xmmword [0x1800d1ff0]
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 0x18003bf10
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003bf10
mov eax, dword [rsi + 0x168]
mov dword [rdi + 0x168], eax
mov eax, dword [rsi + 0x18]
mov dword [rdi + 0x18], eax
movzx eax, word [rsi + 0x82]
mov word [rdi + 0x82], ax
mov eax, dword [rsi + 0x4c]
xor eax, dword [rdi + 0x4c]
and eax, 0x20
xor dword [rdi + 0x4c], eax
mov eax, dword [rsi + 0x2c]
mov dword [rdi + 0x2c], eax
mov eax, dword [rsi + 0xb0]
mov dword [rdi + 0xb0], eax
mov eax, dword [rsi + 0x98]
mov dword [rdi + 0x98], eax
mov ecx, dword [rdi + 0xb8]
xor ecx, dword [rsi + 0xb8]
and ecx, 0x200000
xor ecx, dword [rdi + 0xb8]
mov dword [rdi + 0xb8], ecx
mov eax, ecx
xor eax, dword [rsi + 0xb8]
and eax, 0x400000
xor eax, ecx
mov dword [rdi + 0xb8], eax
movups xmm0, xmmword [0x1800d2000]
movaps xmmword [rbp - 0x49], xmm0
movaps xmmword [rbp - 0x39], xmm1
movq rcx, xmm1
movq rax, xmm0
cmp rcx, rax
jne 0x18003c04b
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003c04b
mov rdx, rdi
mov rcx, rsi
call fcn.180040890
mov eax, dword [rsi + 0x220]
mov dword [rdi + 0x11c], eax
mov eax, dword [rsi + 0x21c]
mov dword [rdi + 0x118], eax
jmp 0x18003c04b
movaps xmmword [rbp - 0x39], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, rsi
call fcn.180041b20
mov eax, dword [rsi + 0x774]
mov dword [rdi + 0x170], eax
movups xmm0, xmmword [0x1800d2000]
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 0x18003c04b
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003c04b
mov rdx, rdi
mov rcx, rsi
call fcn.180040890
mov ecx, dword [rsi + 0x220]
lea eax, [rcx - 8]
mov r8d, r14d
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 [rsi + 0x21c]
lea eax, [rcx - 8]
mov edx, r14d
cmp ecx, 8
cmovge edx, eax
shl edx, 0xf
xor edx, r8d
and edx, 0x38000
xor edx, r8d
mov dword [rdi + 0xb8], edx
jmp 0x18003c04b
movaps xmmword [rbp - 0x39], xmm0
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, rsi
call fcn.180041b20
mov eax, dword [rsi + 0x774]
mov dword [rdi + 0x170], eax
mov qword [rbp - 0x21], r14
test r15, r15
je 0x18003c3b5
nop dword [rax + rax]
mov rbx, qword [r15 + 8]
mov rcx, qword [r15]
call fcn.180068884
mov edx, 0x10
mov rcx, r15
call fcn.180068578
mov r15, rbx
mov qword [rbp - 0x29], rbx
test rbx, rbx
jne 0x18003c060
jmp 0x18003c3b5
mov r8d, 0x1408
mov rdx, rsi
mov rcx, qword [r13 + 0x58]
call fcn.18006b4f0
nop
test rsi, rsi
je 0x18003c38b
cmp rsi, rdi
je 0x18003c38b
test rdi, rdi
je 0x18003c387
mov eax, dword [rbp + 0x6f]
add eax, 0xfffffffe
cmp eax, 1
ja 0x18003c387
cmp ebx, 0x80000006
ja 0x18003c143
je 0x18003c122
cmp ebx, 6
je 0x18003c108
cmp ebx, 7
je 0x18003c29c
cmp ebx, 9
je 0x18003c108
cmp ebx, 0x80000005
jne 0x18003c163
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, rsi
call fcn.180041250
jmp 0x18003c387
mov ebx, dword [rdi]
mov r8d, 0x1408
mov rdx, rsi
mov rcx, rdi
call fcn.18006b4f0
mov dword [rdi], ebx
jmp 0x18003c387
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, rsi
call fcn.180041b20
jmp 0x18003c387
cmp ebx, 0x80000007
je 0x18003c35f
cmp ebx, 0x80000008
je 0x18003c29c
cmp ebx, 0x80000009
je 0x18003c16f
mov dword [rbp - 0xd], 0xf
jmp 0x18003c387
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, rsi
call fcn.180041b20
mov eax, dword [rsi + 0x774]
mov dword [rdi + 0x170], eax
movups xmm0, xmmword [0x1800d1ff0]
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 0x18003c244
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003c244
mov eax, dword [rsi + 0x168]
mov dword [rdi + 0x168], eax
mov eax, dword [rsi + 0x18]
mov dword [rdi + 0x18], eax
movzx eax, word [rsi + 0x82]
mov word [rdi + 0x82], ax
mov eax, dword [rsi + 0x4c]
xor eax, dword [rdi + 0x4c]
and eax, 0x20
xor dword [rdi + 0x4c], eax
mov eax, dword [rsi + 0x2c]
mov dword [rdi + 0x2c], eax
mov eax, dword [rsi + 0xb0]
mov dword [rdi + 0xb0], eax
mov eax, dword [rsi + 0x98]
mov dword [rdi + 0x98], eax
mov ecx, dword [rdi + 0xb8]
xor ecx, dword [rsi + 0xb8]
and ecx, 0x200000
xor ecx, dword [rdi + 0xb8]
mov dword [rdi + 0xb8], ecx
mov eax, ecx
xor eax, dword [rsi + 0xb8]
and eax, 0x400000
xor eax, ecx
mov dword [rdi + 0xb8], eax
movups xmm0, xmmword [0x1800d2000]
movaps xmmword [rbp - 0x49], xmm0
movaps xmmword [rbp - 0x39], xmm1
movq rcx, xmm1
movq rax, xmm0
cmp rcx, rax
jne 0x18003c387
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003c387
mov rdx, rdi
mov rcx, rsi
call fcn.180040890
mov eax, dword [rsi + 0x220]
mov dword [rdi + 0x11c], eax
mov eax, dword [rsi + 0x21c]
mov dword [rdi + 0x118], eax
jmp 0x18003c387
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, rsi
call fcn.180041b20
mov eax, dword [rsi + 0x774]
mov dword [rdi + 0x170], eax
movups xmm0, xmmword [0x1800d2000]
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 0x18003c387
mov rax, qword [rbp - 0x31]
cmp rax, qword [rbp - 0x41]
jne 0x18003c387
mov rdx, rdi
mov rcx, rsi
call fcn.180040890
mov ecx, dword [rsi + 0x220]
lea eax, [rcx - 8]
mov r8d, r14d
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 [rsi + 0x21c]
lea eax, [rcx - 8]
mov edx, r14d
cmp ecx, 8
cmovge edx, eax
shl edx, 0xf
xor edx, r8d
and edx, 0x38000
xor edx, r8d
mov dword [rdi + 0xb8], edx
jmp 0x18003c387
movaps xmm1, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x39], xmm1
movzx r9d, byte [rbp + 0x20]
lea r8, [rbp - 0x39]
mov rdx, rdi
mov rcx, rsi
call fcn.180041b20
mov eax, dword [rsi + 0x774]
mov dword [rdi + 0x170], eax
mov qword [rbp - 0x21], r14
test r15, r15
je 0x18003c3b5
mov rbx, qword [r15 + 8]
mov rcx, qword [r15]
call fcn.180068884
mov edx, 0x10
mov rcx, r15
call fcn.180068578
mov r15, rbx
mov qword [rbp - 0x29], rbx
test rbx, rbx
jne 0x18003c390
mov rbx, qword [rsp + 0x130]
add rsp, 0xe0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret