Function at 0x180038260
Capabilities:
Check for software breakpoints
Encode data using xor
Encrypt data using speck
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
mov eax, 0x1c88
call fcn.1800f5950
sub rsp, rax
movaps xmmword [rsp + 0x1c70], xmm13
movaps xmmword [rsp + 0x1c60], xmm12
movaps xmmword [rsp + 0x1c50], xmm11
movaps xmmword [rsp + 0x1c40], xmm10
movaps xmmword [rsp + 0x1c30], xmm9
movaps xmmword [rsp + 0x1c20], xmm8
movaps xmmword [rsp + 0x1c10], xmm7
movdqa xmmword [rsp + 0x1c00], xmm6
mov rbp, rdx
mov r14, rcx
lea r15, [rsp + 0xb8]
movzx eax, byte [r8 + 0x15]
mov byte [rsp + 0x7f], al
movzx eax, byte [r8 + 0x13]
mov byte [rsp + 0x5f], al
movzx eax, byte [r8 + 0x14]
mov byte [rsp + 0x2f], al
movzx eax, byte [r8 + 0x10]
mov byte [rsp + 0x7e], al
lea rax, [rsp + 0x307]
and rax, 0xfffffffffffffff8
lea rcx, [rsp + 0x300]
mov qword [rsp + 0x268], rax
sub rax, rcx
mov qword [rsp + 0x260], rax
pxor xmm6, xmm6
movaps xmm7, xmmword [0x18010d700]
movdqa xmm8, xmmword [0x18010d770]
movss xmm9, dword [0x18010d710]
movdqa xmm10, xmmword [str.uespemosarenegylmodnarodsetybdet]
movdqa xmm11, xmmword [0x18010d6f0]
movdqa xmm12, xmmword [0x18010da00]
movdqa xmm13, xmmword [0x18010da10]
mov qword [rsp + 0x230], r8
movzx eax, byte [r8 + 0x11]
mov byte [rsp + 0x3f], al
lea r11, [rsp + 0x200]
mov r12, qword [rdx + 8]
test r12, r12
je 0x18003bdb9
mov rdi, qword [rbp]
xor edx, edx
jmp 0x18003839c
inc rdx
cmp rdx, r12
jae 0x18003bdb9
movzx r8d, byte [rdi + rdx]
cmp r8d, 0xa
je 0x180038390
cmp r8d, 0xd
jne 0x1800383e0
lea rax, [rdx + 1]
cmp rax, r12
jae 0x18003bdb9
cmp byte [rdi + rdx + 1], 0xa
jne 0x18003bdc5
add rdx, 2
cmp rdx, r12
jb 0x18003839c
jmp 0x18003bdb9
lea rax, [rdi + rdx]
mov rcx, r12
sub rcx, rdx
cmp rcx, 8
jae 0x180038492
cmp r12, rdx
je 0x18003bdb9
cmp r8b, 0x48
jne case.default.0x18003c042
cmp rcx, 2
jb 0x18003bdb9
cmp byte [rax + 1], 0x54
jne case.default.0x18003c042
cmp rcx, 3
jb 0x18003bdb9
cmp byte [rax + 2], 0x54
jne case.default.0x18003c042
cmp rcx, 4
jb 0x18003bdb9
cmp byte [rax + 3], 0x50
jne case.default.0x18003c042
cmp rcx, 5
jb 0x18003bdb9
cmp byte [rax + 4], 0x2f
jne case.default.0x18003c042
cmp rcx, 6
jb 0x18003bdb9
cmp byte [rax + 5], 0x31
jne case.default.0x18003c042
cmp rcx, 7
jb 0x18003bdb9
cmp byte [rax + 6], 0x2e
mov ecx, 6
mov eax, 0
cmove rcx, rax
jne 0x180039113
jmp 0x18003bdb9
mov rdx, qword [rax]
movq xmm0, rdx
movdqa xmm1, xmm0
punpcklbw xmm1, xmm6
pshuflw xmm1, xmm1, 0xe1
packuswb xmm1, xmm1
movd r8d, xmm1
cmp r8d, 0x50544854
jne case.default.0x18003c042
movzx r8d, al
movd xmm1, r8d
punpcklbw xmm1, xmm1
pshuflw xmm1, xmm1, 0
pshufd xmm1, xmm1, 0
pand xmm1, xmm12
mov r8, rdx
shr r8, 0x20
shl r8d, 8
mov r9, rdx
shr r9, 0x28
movzx r9d, r9b
or r9d, r8d
movd xmm2, r9d
movdqa xmm3, xmm12
pandn xmm3, xmm2
por xmm3, xmm1
pcmpeqb xmm3, xmm13
punpcklbw xmm1, xmm3
pshuflw xmm1, xmm1, 0x60
pshufd xmm1, xmm1, 0x50
movmskpd r8d, xmm1
mov r9d, r8d
shr r9b, 1
je case.default.0x18003c042
test r8b, 1
je case.default.0x18003c042
shr rdx, 0x30
cmp dl, 0x2e
jne case.default.0x18003c042
pextrw edx, xmm0, 3
shr edx, 8
cmp dl, 0x30
je 0x180038559
cmp edx, 0x31
jne case.default.0x18003c042
mov dl, 2
jmp 0x18003855b
mov dl, 1
mov qword [rsp + 0x158], rdx
cmp rcx, 9
jb 0x18003bdb9
cmp byte [rax + 8], 0x20
jne case.default.0x18003c042
add rax, 9
lea rbx, [rcx - 9]
cmp byte [rsp + 0x5f], 0
je 0x1800385ab
cmp rcx, 9
je 0x18003bdb9
test rax, rax
je 0x18003bdb9
cmp byte [rax], 0x20
jne 0x1800385ab
inc rax
dec rbx
jne 0x180038599
jmp 0x18003bdb9
test rbx, rbx
je 0x18003bdb9
movzx ecx, byte [rax]
add cl, 0xd0
cmp cl, 9
ja case.0x18003c042.3
cmp rbx, 2
jb 0x18003bdb9
movzx edx, byte [rax + 1]
add dl, 0xd0
cmp dl, 9
ja case.0x18003c042.3
cmp rbx, 3
jb 0x18003bdb9
movzx r8d, byte [rax + 2]
add r8b, 0xd0
mov byte [rsp + 0x48], r8b
cmp r8b, 0xa
jae case.0x18003c042.3
cmp rbx, 4
jb 0x18003bdb9
movzx r9d, byte [rax + 3]
cmp r9d, 0xa
je 0x180038657
cmp r9d, 0xd
je 0x180038661
cmp r9d, 0x20
jne case.0x18003c042.3
cmp byte [rsp + 0x5f], 0
je 0x18003b9fa
cmp rbx, 5
jb 0x18003bdb9
add rbx, 0xfffffffffffffffc
add rax, 4
cmp byte [rax], 0x20
jne 0x18003ba02
inc rax
dec rbx
jne 0x180038641
jmp 0x18003bdb9
add rax, 4
add rbx, 0xfffffffffffffffc
jmp 0x18003867d
cmp rbx, 4
jbe 0x18003bdb9
cmp byte [rax + 4], 0xa
jne case.0x18003c042.3
add rax, 5
add rbx, 0xfffffffffffffffb
xor r8d, r8d
mov qword [rsp + 0x68], r8
lea r9, [0x180159498]
mov qword [rsp + 0xc0], r9
test rbx, rbx
je 0x18003bdb9
movzx ecx, cl
imul ecx, ecx, 0x64
movzx edx, dl
add edx, edx
lea edx, [rdx + rdx*4]
movzx r8d, byte [rsp + 0x48]
add r8d, edx
add r8d, ecx
mov qword [rsp + 0x1c8], r8
mov rdx, rbx
xor ecx, ecx
mov qword [rsp + 0x60], rcx
xor r13d, r13d
mov rcx, r13
shl rcx, 5
add rcx, rsp
add rcx, 0x300
mov qword [rsp + 0x150], rcx
mov rcx, rdx
mov qword [rsp + 0x48], rax
cmp byte [rsp + 0x2f], 0
je 0x18003878e
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax]
mov esi, 1
cmp eax, 0xa
je 0x18003bb15
cmp eax, 0xd
je 0x18003bb1c
lea rdx, [0x180121e09]
cmp byte [rax + rdx], 0
jne 0x1800387be
test al, al
je 0x180039100
movzx eax, al
cmp eax, 0xa
je 0x180038776
cmp eax, 0xd
je 0x18003875b
cmp rcx, rsi
jbe 0x18003bdb9
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + rsi]
inc rsi
test al, al
jne 0x180038730
jmp 0x180039100
cmp rcx, rsi
jbe 0x18003bdb9
mov rax, qword [rsp + 0x48]
cmp byte [rax + rsi], 0xa
jne 0x180039100
inc rsi
add qword [rsp + 0x60], rsi
add qword [rsp + 0x48], rsi
sub rcx, rsi
jne 0x1800386f8
jmp 0x18003bdb9
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax]
mov esi, 1
cmp eax, 0xa
je 0x18003bb15
cmp eax, 0xd
je 0x18003bb1c
lea rdx, [0x180121e09]
cmp byte [rax + rdx], 0
je 0x180039100
mov r9, rcx
sub r9, rsi
mov rax, qword [rsp + 0x48]
lea rdx, [rax + rsi]
inc rdx
cmp rcx, rsi
jbe 0x18003bdb9
mov r10, rsi
mov rax, rdx
mov rdx, qword [rsp + 0x48]
movzx r8d, byte [rdx + rsi]
inc rsi
dec r9
lea rdx, [rax + 1]
lea r15, [0x180121e09]
cmp byte [r8 + r15], 0
lea r15, [rsp + 0xb8]
jne 0x1800387d0
mov rdx, rcx
sub rdx, rsi
mov qword [rsp + 0x40], rdx
cmp r8b, 0x3a
jne 0x180038844
add qword [rsp + 0x60], rsi
mov rax, qword [rsp + 0x48]
add rax, rsi
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x40], rax
test rax, rax
jne 0x1800388ee
jmp 0x18003bdb9
cmp byte [rsp + 0x7e], 0
je 0x180038e3a
mov rdx, qword [rsp + 0x48]
add rdx, rsi
mov qword [rsp + 0x30], rdx
sub r10, rcx
xor edx, edx
cmp r8b, 0x20
je 0x180038889
mov r15, rbp
mov rbp, r11
movzx r11d, r8b
cmp r11d, 9
mov r11, rbp
mov rbp, r15
lea r15, [rsp + 0xb8]
jne 0x180038e3c
lea r8, [r10 + rdx]
inc r8
test r8, r8
je 0x18003bdb9
mov r8, qword [rsp + 0x30]
movzx r8d, byte [r8 + rdx]
inc rdx
cmp r8b, 0x3a
jne 0x180038861
mov rax, qword [rsp + 0x60]
add rax, rsi
add rax, rdx
mov qword [rsp + 0x60], rax
add qword [rsp + 0x30], rdx
sub r9, rdx
mov rax, r9
mov qword [rsp + 0x40], rax
test rax, rax
jne 0x1800388ee
jmp 0x18003bdb9
add qword [rsp + 0x60], rcx
add qword [rsp + 0x30], rcx
sub r10, rcx
mov qword [rsp + 0x40], r10
je 0x18003bdb9
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax]
cmp byte [rsp + 0x3f], 0
je 0x18003898a
xor r9d, r9d
mov r10, qword [rsp + 0x40]
lea rcx, [r9 + 1]
cmp al, 0x20
je 0x1800388d6
movzx edx, al
cmp edx, 9
je 0x1800388d6
lea r8, [0x180121f09]
cmp byte [rdx + r8], 0
jne 0x1800389be
cmp al, 0xa
je 0x180038960
cmp edx, 0xd
mov rdx, rcx
jne 0x180038f36
cmp r10, rdx
jbe 0x18003bdb9
mov rax, qword [rsp + 0x30]
cmp byte [rax + r9 + 1], 0xa
mov r10, qword [rsp + 0x40]
jne 0x18003bc79
add r9, 2
jmp 0x180038963
mov r9, rcx
cmp r9, r10
jae 0x18003bdb9
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + r9]
cmp eax, 9
mov r10, qword [rsp + 0x40]
je 0x180038909
cmp eax, 0x20
je 0x180038909
jmp 0x1800390ad
movzx r9d, al
mov ecx, 1
cmp r9d, 9
mov r10, qword [rsp + 0x40]
je 0x1800388d6
cmp r9d, 0x20
je 0x1800388d6
lea rdx, [0x180121f09]
cmp byte [r9 + rdx], 0
je 0x180038f1d
mov r8, rcx
mov rax, qword [0x180168ae0]
test rax, rax
mov qword [rsp + 0x40], r10
jne 0x180038a6a
mov rcx, qword [0x180168ba8]
test rcx, rcx
je 0x180038a12
mov rax, qword [0x180168ba8]
test cx, cx
js 0x180038a49
test rax, rax
je 0x180038de0
and eax, 0x800
cmp rax, 1
mov ecx, 0
sbb rcx, rcx
or rcx, 1
shr rax, 0xb
jmp 0x180038a63
mov r15, rbp
mov rbp, r11
mov qword [rsp + 0x50], r8
call fcn.18010a3f0
mov r8, qword [rsp + 0x50]
mov r10, qword [rsp + 0x40]
mov r11, rbp
mov rbp, r15
lea r15, [rsp + 0xb8]
mov rcx, rax
mov rax, qword [0x180168ba8]
test cx, cx
jns 0x1800389ee
test rax, rax
je 0x180038e0d
xor ecx, ecx
test eax, 0x800
sete cl
xor rcx, 3
mov rax, rcx
mov qword [0x180168ae0], rcx
cmp rax, 1
je 0x180038ad9
cmp rax, 2
je 0x180038b2e
cmp rax, 3
jne 0x180038bcf
mov rax, r10
sub rax, r8
jb 0x18003c02c
cmp rax, 0x1f
jbe 0x180038b80
mov rax, qword [rsp + 0x30]
lea rcx, [rax + r8]
mov r15, rbp
mov rbp, r11
mov qword [rsp + 0x50], r8
call fcn.180033510
mov r8, qword [rsp + 0x50]
mov r10, qword [rsp + 0x40]
mov r11, rbp
mov rbp, r15
lea r15, [rsp + 0xb8]
add r8, rax
cmp rax, 0x20
je 0x180038a84
jmp 0x180038bcf
mov rax, r10
sub rax, r8
jb 0x18003c02c
cmp rax, 0x10
jb 0x180038bcf
mov rax, qword [rsp + 0x30]
lea rcx, [rax + r8]
mov r15, rbp
mov rbp, r11
mov qword [rsp + 0x50], r8
call fcn.1800334c0
mov r8, qword [rsp + 0x50]
mov r10, qword [rsp + 0x40]
mov r11, rbp
mov rbp, r15
lea r15, [rsp + 0xb8]
add r8, rax
cmp rax, 0x10
je 0x180038ad9
jmp 0x180038bcf
mov rax, r10
sub rax, r8
jb 0x18003c02c
cmp rax, 0x20
jb 0x180038bcf
mov rax, qword [rsp + 0x30]
lea rcx, [rax + r8]
mov r15, rbp
mov rbp, r11
mov qword [rsp + 0x50], r8
call fcn.180033510
mov r8, qword [rsp + 0x50]
mov r10, qword [rsp + 0x40]
mov r11, rbp
mov rbp, r15
lea r15, [rsp + 0xb8]
add r8, rax
cmp rax, 0x20
je 0x180038b2e
jmp 0x180038bcf
mov rax, r10
sub rax, r8
jb 0x18003c02c
cmp rax, 0x10
jb 0x180038bc2
mov rax, qword [rsp + 0x30]
lea rcx, [rax + r8]
mov qword [rsp + 0x50], r8
call fcn.1800334c0
mov r8, qword [rsp + 0x50]
add r8, rax
cmp rax, 0x10
lea r11, [rsp + 0x200]
mov r10, qword [rsp + 0x40]
je 0x180038b80
jmp 0x180038bcf
lea r11, [rsp + 0x200]
mov r10, qword [rsp + 0x40]
mov rdx, r8
cmp rdx, 0xfffffffffffffff7
ja 0x180038be9
lea rcx, [rdx + 8]
cmp rcx, r10
ja 0x180038be9
mov r8, rdx
jmp 0x180038c6d
cmp r10, rdx
jbe 0x18003bdb9
mov r9, r10
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + rdx]
lea r8, [rdx + 1]
lea rcx, [0x180121f09]
cmp byte [rax + rcx], 0
je 0x180038d12
cmp rdx, 0xfffffffffffffff6
mov r10, r9
ja 0x180038c25
lea rcx, [rdx + 9]
cmp rcx, r10
jbe 0x180038c6d
add rdx, 9
mov rcx, rdx
lea rdx, [rcx - 8]
cmp r10, rdx
jbe 0x18003bdb9
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + rcx - 8]
lea r8, [0x180121f09]
cmp byte [rax + r8], 0
je 0x180038d0b
inc rcx
cmp rdx, 0xfffffffffffffff6
mov r10, r9
ja 0x180038c2c
cmp rcx, r10
ja 0x180038c2c
mov r8, rcx
add r8, 0xfffffffffffffff8
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x50], r8
movq xmm0, qword [rax + r8]
movdqa xmmword [rsp + 0x290], xmm0
movzx eax, byte [rsp + 0x290]
lea r9, [0x180121f09]
cmp byte [rax + r9], 0
je 0x180038d17
movd edx, xmm0
mov eax, edx
shr eax, 8
movzx r8d, al
cmp byte [r8 + r9], 0
je 0x180038d21
mov eax, edx
shr eax, 0x10
movzx r8d, al
cmp byte [r8 + r9], 0
je 0x180038d2c
shr edx, 0x18
cmp byte [rdx + r9], 0
je 0x180038d37
pextrw eax, xmm0, 2
movzx edx, al
cmp byte [rdx + r9], 0
je 0x180038d44
shr eax, 8
cmp byte [rax + r9], 0
je 0x180038d4f
mov r8, r9
pextrw eax, xmm0, 3
movzx edx, al
cmp byte [rdx + r9], 0
je 0x180038d5a
shr eax, 8
cmp byte [rax + r8], 0
mov rdx, rcx
jne 0x180038bd2
mov r8, rcx
jmp 0x180038d63
add rcx, 0xfffffffffffffff9
mov r8, rcx
mov r10, r9
jmp 0x180038d63
mov r8, qword [rsp + 0x50]
inc r8
jmp 0x180038d63
mov r8, qword [rsp + 0x50]
add r8, 2
jmp 0x180038d63
mov r8, qword [rsp + 0x50]
add r8, 3
jmp 0x180038d63
mov r8, qword [rsp + 0x50]
add r8, 4
mov eax, edx
jmp 0x180038d63
mov r8, qword [rsp + 0x50]
add r8, 5
jmp 0x180038d63
mov r8, qword [rsp + 0x50]
add r8, 6
jmp 0x180038d63
mov r8, qword [rsp + 0x50]
add r8, 7
mov rcx, 0xffffffffffffffff
cmp al, 0xa
je 0x180038da5
movzx ecx, al
cmp ecx, 0xd
jne 0x180038ed0
cmp r10, r8
jbe 0x18003bdb9
mov rdx, r8
mov rcx, qword [rsp + 0x30]
cmp byte [rcx + rdx], 0xa
jne 0x18003bc79
mov rax, r10
mov r8, rdx
inc r8
mov rcx, 0xfffffffffffffffe
cmp byte [rsp + 0x3f], 0
je 0x180038ffb
cmp r10, r8
jbe 0x18003bdb9
mov rdx, r10
mov r9, r8
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + r9]
cmp eax, 9
je 0x1800389c1
cmp eax, 0x20
je 0x1800389c1
jmp 0x180038ffb
mov r15, rbp
mov rbp, r11
mov qword [rsp + 0x50], r8
call fcn.18010a3f0
mov r8, qword [rsp + 0x50]
mov r10, qword [rsp + 0x40]
mov r11, rbp
mov rbp, r15
lea r15, [rsp + 0xb8]
jmp 0x1800389f7
mov r15, rbp
mov rbp, r11
mov qword [rsp + 0x50], r8
call fcn.18010a3f0
mov r8, qword [rsp + 0x50]
mov r10, qword [rsp + 0x40]
mov r11, rbp
mov rbp, r15
lea r15, [rsp + 0xb8]
jmp 0x180038a52
xor edx, edx
cmp byte [rsp + 0x2f], 0
mov r9, qword [rsp + 0x40]
je 0x180039100
add rax, rdx
test r8b, r8b
je 0x180039100
movzx r8d, r8b
cmp r8d, 0xa
je 0x180038e9f
cmp r8d, 0xd
je 0x180038e8a
cmp r9, rdx
jbe 0x18003bdb9
movzx r8d, byte [rax]
inc rdx
inc rax
mov r9, qword [rsp + 0x40]
test r8b, r8b
jne 0x180038e58
jmp 0x180039100
cmp r9, rdx
jbe 0x18003bdb9
cmp byte [rax], 0xa
jne 0x180039100
inc rdx
mov rax, qword [rsp + 0x60]
add rax, rdx
add rax, rsi
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x48]
add rax, rdx
add rax, rsi
mov qword [rsp + 0x48], rax
sub rcx, rdx
sub rcx, rsi
jne 0x1800386ed
jmp 0x18003bdb9
mov rdx, r14
cmp byte [rsp + 0x2f], 0
je 0x18003bda2
test al, al
je 0x18003bda2
movzx eax, al
cmp eax, 0xa
je 0x180038ff6
cmp eax, 0xd
je 0x180038fd7
cmp r10, r8
mov r14, rdx
jbe 0x18003bdb9
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + r8]
inc r8
test al, al
jne 0x180038ee6
jmp 0x18003bda2
cmp r9d, 0xa
je 0x18003907a
mov edx, 1
cmp r9d, 0xd
je 0x180039087
cmp byte [rsp + 0x2f], 0
je 0x18003bc79
test al, al
mov rcx, qword [rsp + 0x40]
je 0x18003bc79
movzx eax, al
cmp eax, 0xa
je 0x180038f82
cmp eax, 0xd
je 0x180038f8a
cmp rcx, rdx
jbe 0x18003bdb9
mov r8, rdx
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + r8]
inc rdx
test al, al
mov rcx, qword [rsp + 0x40]
jne 0x180038f4e
jmp 0x18003bc79
mov r8, rdx
mov rdx, r14
jmp 0x180038fac
cmp rcx, rdx
jbe 0x18003bdb9
mov r8, rdx
mov rdx, r14
mov rax, qword [rsp + 0x30]
cmp byte [rax + r8], 0xa
jne 0x18003bda2
inc r8
mov rcx, qword [rsp + 0x40]
sub rcx, r8
mov rax, qword [rsp + 0x30]
add rax, r8
add qword [rsp + 0x60], r8
mov qword [rsp + 0x48], rax
test rcx, rcx
mov r14, rdx
jne 0x1800386ed
jmp 0x18003bdb9
cmp r10, r8
mov r14, rdx
jbe 0x18003bdb9
mov rax, qword [rsp + 0x30]
cmp byte [rax + r8], 0xa
jne 0x18003bda2
inc r8
mov rcx, r10
jmp 0x180038fb1
cmp r13, 0x64
je 0x18003bd98
mov rdx, r8
mov rax, r8
lea r8, [rdx + rcx]
sub r10, rdx
mov qword [rsp + 0x40], r8
test r8, r8
je 0x18003905d
mov rax, qword [rsp + 0x30]
add rax, rcx
dec rax
neg rcx
movabs r9, 0x100002600
mov r8, rdx
movzx r8d, byte [rax + r8]
cmp r8, 0x20
ja 0x180039062
bt r9, r8
jae 0x180039062
inc rcx
dec rax
mov r8, rdx
cmp rdx, rcx
jne 0x180039037
mov rdx, qword [rsp + 0x40]
jmp 0x1800390bf
mov r8, rdx
jmp 0x1800390bd
mov r8, rdx
mov rax, rdx
sub rax, rcx
cmp rax, qword [rsp + 0x40]
mov rdx, rax
jbe 0x1800390bf
jmp 0x18003c02c
mov r9d, 1
mov r10, qword [rsp + 0x40]
jmp 0x1800390ad
cmp qword [rsp + 0x40], 2
jb 0x18003bdb9
mov r9d, 2
mov rax, qword [rsp + 0x30]
cmp byte [rax + 1], 0xa
mov r10, qword [rsp + 0x40]
jne 0x18003bc79
cmp r13, 0x64
je 0x18003bd98
sub r10, r9
mov r8, r9
xor edx, edx
mov r9, qword [rsp + 0x30]
lea rax, [r9 + r8]
add qword [rsp + 0x60], r8
inc r13
mov rcx, qword [rsp + 0x150]
mov r8, qword [rsp + 0x48]
mov qword [rcx], r8
dec rsi
mov qword [rcx + 8], rsi
mov qword [rcx + 0x10], r9
mov qword [rcx + 0x18], rdx
mov rdx, r10
test r10, r10
jne 0x1800386cc
jmp 0x18003bdb9
mov rax, qword [rsp + 0x70]
and rax, 0xffffffffffffff00
mov qword [rsp + 0x70], rax
movzx ecx, al
cmp cl, 6
jne 0x18003c030
mov rax, qword [rsp + 0x230]
cmp byte [rax + 0x16], 0
je 0x18003bf34
mov ax, 0xc8
mov qword [rsp + 0x1c8], rax
xor r12d, r12d
xor eax, eax
xor ecx, ecx
mov qword [rsp + 0x158], rcx
xor r13d, r13d
mov qword [rsp + 0x1e8], rax
mov rax, qword [rsp + 0x170]
lea rcx, [rsp + 0x1f0]
mov qword [rcx + 0x10], rax
movdqa xmm0, xmmword [rsp + 0x160]
movdqu xmmword [rcx], xmm0
lea rcx, [rsp + 0x270]
mov rdx, rbp
mov r8, r12
call fcn.1800149f0
cmp byte [rsp + 0x3f], 0
je 0x1800392a2
cmp r13, 0x65
jae 0x18003c02c
test r13, r13
je 0x1800392a2
mov rax, r13
shl rax, 5
add rax, rsp
add rax, 0xf80
mov rcx, qword [rsp + 0x270]
mov rdx, qword [rsp + 0x278]
lea r8, [rsp + 0xf80]
jmp 0x1800391d9
cmp r8, rax
je 0x1800392a2
mov r11, qword [r8 + 0x10]
mov r9, qword [r8 + 0x18]
cmp r9, r11
jb 0x18003c02c
cmp r9, rdx
ja 0x18003c02c
add r8, 0x20
cmp r9, r11
je 0x1800391d0
lea r10, [rcx + r11]
mov esi, r9d
sub esi, r11d
not r11
add r11, r9
and rsi, 3
jne 0x18003922c
cmp r11, 3
jb 0x1800391d0
add r9, rcx
jmp 0x18003924d
mov byte [r10], 0x20
inc r10
dec rsi
je 0x180039212
movzx edi, byte [r10]
cmp edi, 0xd
je 0x180039220
cmp edi, 0xa
je 0x180039220
jmp 0x180039224
mov byte [r10 + 3], 0x20
mov r10, r11
cmp r11, r9
je 0x1800391d0
movzx r11d, byte [r10]
cmp r11d, 0xd
je 0x18003925d
cmp r11d, 0xa
jne 0x180039261
mov byte [r10], 0x20
movzx r11d, byte [r10 + 1]
cmp r11d, 0xd
je 0x180039272
cmp r11d, 0xa
jne 0x180039277
mov byte [r10 + 1], 0x20
movzx r11d, byte [r10 + 2]
cmp r11d, 0xd
je 0x180039288
cmp r11d, 0xa
jne 0x18003928d
mov byte [r10 + 2], 0x20
lea r11, [r10 + 4]
movzx esi, byte [r10 + 3]
cmp esi, 0xd
je 0x180039240
cmp esi, 0xa
je 0x180039240
jmp 0x180039245
mov rdi, qword [rsp + 0x270]
mov rax, qword [rsp + 0x278]
mov rsi, qword [rsp + 0x288]
test sil, 1
jne 0x1800392f3
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], rsi
lea rax, [0x180136820]
mov qword [rsp + 0xa0], rax
lea r12, [0x180133370]
jmp 0x1800393e2
mov r12, r14
mov r14, qword [rsp + 0x280]
shr rsi, 5
sub rdi, rsi
lea rbx, [rsi + rax]
cmp rax, r14
jne 0x180039330
test rbx, rbx
je 0x180039391
test dil, 1
mov r14, r12
mov rax, rdi
jne 0x1800393a8
or rax, 1
lea rcx, [0x1801214a8]
jmp 0x1800393af
movzx eax, byte [0x180168bb8]
mov rax, qword [0x180168b78]
test rax, rax
jne 0x180039359
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18003c181
mov qword [0x180168b78], rax
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18003c181
add r14, rsi
mov qword [rax], rdi
mov qword [rax + 8], r14
mov qword [rax + 0x10], 1
lea rcx, [0x18010e478]
mov r14, r12
jmp 0x1800393af
xor eax, eax
lea rdi, [0x180159498]
xor ebx, ebx
lea rcx, [0x180133170]
mov r14, r12
jmp 0x1800393af
lea rcx, [0x1801214c0]
lea r12, [0x180133370]
sub rbx, rsi
jb 0x18003c02c
add rdi, rsi
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0x230]
mov rcx, qword [rax]
mov rax, qword [rcx]
mov qword [rcx], 3
cmp rax, 3
jne 0x18003944d
mov word [rsp + 0x1b8], 0
mov qword [rsp + 0x178], 2
mov qword [rsp + 0x180], 0
mov qword [rsp + 0x188], 8
lea rax, [rsp + 0x168]
movdqu xmmword [rax + 0x28], xmm6
mov qword [rsp + 0x1a0], 8
movdqu xmmword [rax + 0x40], xmm6
xor eax, eax
jmp 0x180039491
mov rdx, qword [rcx + 0x58]
lea r8, [rsp + 0x168]
mov qword [r8 + 0x50], rdx
movups xmm0, xmmword [rcx + 0x48]
movups xmmword [r8 + 0x40], xmm0
movdqu xmm0, xmmword [rcx + 8]
movupd xmm1, xmmword [rcx + 0x18]
movdqu xmm2, xmmword [rcx + 0x28]
movdqu xmm3, xmmword [rcx + 0x38]
movdqu xmmword [r8 + 0x30], xmm3
movdqu xmmword [r8 + 0x20], xmm2
movupd xmmword [r8 + 0x10], xmm1
movdqu xmmword [r8], xmm0
cmp byte [rsp + 0x158], 2
sete cl
mov dword [rsp + 0x50], ecx
mov qword [rsp + 0x160], rax
cmp byte [rsp + 0x7f], 0
je 0x1800394ff
lea rax, [rsp + 0xd8]
movdqu xmmword [rax + 0x28], xmm6
movdqu xmmword [rax + 0x40], xmm6
mov qword [rsp + 0xe8], 2
mov qword [rsp + 0xf0], 0
mov qword [rsp + 0xf8], 8
mov qword [rsp + 0x110], 8
mov word [rsp + 0x128], 0
xor eax, eax
jmp 0x180039504
mov eax, 3
mov qword [rsp + 0x40], r14
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0x198]
mov rdx, rax
add rdx, r13
jb 0x18003c02c
mov r14, qword [rsp + 0x180]
cmp rdx, r14
jbe 0x180039585
lea rcx, [rdx - 1]
bsr rcx, rcx
not ecx
mov rsi, 0xffffffffffffffff
shr rsi, cl
inc rsi
cmp rdx, 2
mov ecx, 1
cmovb rsi, rcx
cmp rsi, 0x8000
ja 0x18003c02c
test rsi, rsi
je 0x18003c02c
test rax, rax
je 0x18003b522
lea rcx, [rsp + 0x160]
mov rdx, rsi
call fcn.180020090
cmp r13, 0x65
jae 0x18003c02c
test r13, r13
je 0x18003b225
shl r13, 5
lea rax, [rsp + r13]
add rax, 0xf80
mov qword [rsp + 0x258], rax
lea rsi, [rsp + 0xf80]
lea r13, [rsp + 0x80]
mov qword [rsp + 0x1d0], rbp
mov rdi, qword [rsi]
mov r14, qword [rsi + 8]
cmp r14, rdi
jb 0x18003c02c
mov qword [rsp + 0x48], rsi
cmp r14, qword [rsp + 0xb0]
ja 0x18003c02c
mov rsi, r14
sub rsi, rdi
je 0x18003be46
mov rbx, qword [rsp + 0xa8]
cmp rsi, 0x40
ja 0x180039627
mov rax, rdi
not rax
add r14, rax
mov eax, esi
and eax, 3
cmp r14, 3
jae 0x180039691
xor r9d, r9d
lea r14, [rsp + 0x300]
jmp 0x180039707
cmp rsi, 0x10000
jae 0x18003be46
movzx eax, byte [0x180168bb8]
mov rax, qword [0x180168b78]
test rax, rax
jne 0x18003965d
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18003c161
mov qword [0x180168b78], rax
mov rcx, rax
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18003c161
mov rcx, rsi
mov r15, rbp
shr rcx, 0xa
je 0x1800397a7
bsr rcx, rcx
xor rcx, 0x3f
jmp 0x1800397ac
mov rcx, rsi
and rcx, 0xfffffffffffffffc
lea rdx, [rbx + rdi]
add rdx, 3
xor r8d, r8d
lea r14, [rsp + 0x300]
nop dword [rax + rax]
movzx r9d, byte [rdx + r8 - 3]
movzx r9d, byte [r9 + r12]
mov byte [rsp + r8 + 0x300], r9b
movzx r9d, byte [rdx + r8 - 2]
movzx r9d, byte [r9 + r12]
mov byte [rsp + r8 + 0x301], r9b
movzx r9d, byte [rdx + r8 - 1]
movzx r9d, byte [r9 + r12]
mov byte [rsp + r8 + 0x302], r9b
lea r9, [r8 + 4]
movzx r10d, byte [rdx + r8]
movzx r10d, byte [r10 + r12]
mov byte [rsp + r8 + 0x303], r10b
mov r8, r9
cmp rcx, r9
jne 0x1800396b0
test rax, rax
je 0x180039736
lea rcx, [rsp + r9]
add rcx, 0x300
add rdi, r9
add rbx, rdi
xor edx, edx
nop
movzx r8d, byte [rbx + rdx]
movzx r8d, byte [r8 + r12]
mov byte [rcx + rdx], r8b
inc rdx
cmp rax, rdx
jne 0x180039720
mov rcx, r14
mov rdx, rsi
call fcn.18002d3b0
cmp al, 0x51
jne 0x18003977b
cmp rsi, 0xf
ja 0x180039884
xor eax, eax
nop word cs:[rax + rax]
cmp byte [rsp + rax + 0x300], 0
je 0x18003be46
inc rax
cmp rsi, rax
jne 0x180039760
jmp 0x1800399a6
movzx eax, al
mov rdx, qword [rsp + 0x240]
and rdx, 0xffffffffffffff00
or rdx, rax
xor eax, eax
mov r8, qword [rsp + 0x250]
mov r9, qword [rsp + 0x248]
jmp 0x180039ad5
mov ecx, 0x40
mov edx, 0x40
sub rdx, rcx
cmp rdx, 7
mov ecx, 7
cmovae rdx, rcx
lea rcx, [rdx*4 + 1]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], 0
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0x98], rcx
xor r8d, r8d
movzx ecx, byte [rbx + rdi]
movzx ebp, byte [rcx + r12]
test bpl, bpl
je 0x18003bdd7
cmp rsi, r8
jne 0x18003982c
mov edx, 1
mov rcx, r13
call fcn.180014be0
mov rax, qword [rsp + 0x80]
mov r8, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x90]
mov byte [rax + r8], bpl
inc r8
cmp r8, rsi
ja 0x18003c02c
mov qword [rsp + 0x88], r8
inc rdi
cmp r14, rdi
jne 0x1800397f0
mov rdx, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x98]
test sil, 1
jne 0x1800398dd
lea rax, [0x180136820]
mov r9, rsi
mov rbp, r15
lea r14, [rsp + 0x300]
lea r15, [rsp + 0xb8]
jmp 0x180039ad5
cmp qword [rsp + 0x268], r14
je 0x180039931
mov rcx, qword [rsp + 0x260]
cmp rcx, rsi
mov rax, rsi
cmovb rax, rcx
test rax, rax
je 0x180039931
xor ecx, ecx
cmp byte [rsp + rcx + 0x300], 0
je 0x18003be46
inc rcx
cmp rax, rcx
jne 0x1800398af
lea rcx, [rsi - 0x10]
cmp rax, rcx
movabs r8, 0x8080808080808080
jbe 0x180039950
jmp 0x1800399a1
mov rbx, qword [rsp + 0x90]
shr rsi, 5
sub rdx, rsi
lea rdi, [rsi + r8]
cmp r8, rbx
mov rbp, r15
lea r14, [rsp + 0x300]
jne 0x180039a33
test rdi, rdi
je 0x180039aa2
test dl, 1
lea r15, [rsp + 0xb8]
mov r9, rdx
jne 0x180039abf
or r9, 1
lea rax, [0x1801214a8]
jmp 0x180039ac6
lea rcx, [rsi - 0x10]
xor eax, eax
movabs r8, 0x8080808080808080
nop word cs:[rax + rax]
movdqu xmm0, xmmword [rsp + rax + 0x300]
movdqa xmm1, xmm0
paddq xmm1, xmm8
pandn xmm0, xmm1
pshufd xmm1, xmm0, 0xee
por xmm1, xmm0
movq rdx, xmm1
test rdx, r8
jne 0x1800399a1
add rax, 0x10
cmp rax, rcx
jbe 0x180039950
jmp 0x1800399a1
cmp byte [rsp + rax + 0x300], 0
je 0x18003be46
inc rax
cmp rsi, rax
jne 0x180039990
test rsi, rsi
js 0x18003c02c
movzx eax, byte [0x180168bb8]
mov rax, qword [0x180168b78]
test rax, rax
lea r14, [rsp + 0x300]
jne 0x1800399e0
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18003c161
mov qword [0x180168b78], rax
mov rcx, rax
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18003c161
mov rcx, rax
mov rdi, rax
mov rdx, r14
mov r8, rsi
call fcn.1800f64f0
mov rdx, rdi
mov r9, rdi
or r9, 1
test dl, 1
cmovne r9, rdi
lea rax, [0x1801214c0]
lea rcx, [0x1801214a8]
cmove rax, rcx
mov r8, rsi
jmp 0x180039ad5
mov r15, rdx
movzx eax, byte [0x180168bb8]
mov rax, qword [0x180168b78]
test rax, rax
jne 0x180039a5f
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18003c181
mov qword [0x180168b78], rax
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18003c181
mov r9, rax
add rbx, rsi
mov rdx, r15
mov qword [rax], r15
mov qword [rax + 8], rbx
mov qword [rax + 0x10], 1
lea rax, [0x18010e478]
lea r15, [rsp + 0xb8]
jmp 0x180039ac6
lea rdx, [0x180159498]
xor r9d, r9d
xor edi, edi
lea rax, [0x180133170]
lea r15, [rsp + 0xb8]
jmp 0x180039ac6
lea rax, [0x1801214c0]
mov r8, rdi
sub r8, rsi
jb 0x18003c02c
add rdx, rsi
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x208], rax
mov qword [rsp + 0x210], rdx
mov qword [rsp + 0x250], r8
mov qword [rsp + 0x218], r8
mov qword [rsp + 0x248], r9
mov qword [rsp + 0x220], r9
mov r12, qword [rcx + 0x10]
mov rsi, qword [rcx + 0x18]
cmp rsi, r12
jb 0x18003c02c
mov r9, qword [rsp + 0xb0]
cmp r9, rsi
jb 0x18003c02c
sub rsi, r12
mov qword [rsp + 0x240], rdx
jne 0x180039b6f
mov ecx, edx
xor esi, esi
xor edx, edx
mov qword [rsp + 0x140], rdx
lea r12, [0x180159498]
lea rdx, [0x180133170]
mov qword [rsp + 0x148], rdx
test rax, rax
mov qword [rsp + 0x1e0], rsi
je 0x180039bd5
jmp 0x180039c34
mov rax, qword [rsp + 0xa0]
mov r8, qword [rsp + 0xa8]
mov rcx, r14
mov rdx, r15
call qword [rax]
mov rax, qword [rsp + 0x300]
mov qword [rsp + 0x148], rax
test rax, rax
je 0x18003c02c
mov rax, qword [rsp + 0x318]
mov qword [rsp + 0x140], rax
add r12, qword [rsp + 0x308]
mov rax, qword [rsp + 0x208]
movzx ecx, byte [rsp + 0x210]
test rax, rax
mov qword [rsp + 0x1e0], rsi
jne 0x180039c34
cmp cl, 0x14
jne 0x180039c34
test byte [rsp + 0x50], 1
jne 0x180039c0b
mov rcx, r12
mov rdx, rsi
call fcn.180036080
mov dword [rsp + 0x50], eax
mov rsi, qword [rsp + 0xd0]
cmp rsi, 3
mov qword [rsp + 0x1d8], r12
jne 0x180039c4e
jmp 0x18003aac3
xor eax, eax
nop dword [rax]
cmp rsi, rax
je 0x180039eea
movzx ecx, byte [r12 + rax]
inc rax
cmp cl, 9
je 0x180039c10
add cl, 0xe0
cmp cl, 0x5f
jb 0x180039c10
mov al, 1
mov dword [rsp + 0x50], eax
mov rsi, qword [rsp + 0xd0]
cmp rsi, 3
mov qword [rsp + 0x1d8], r12
je 0x18003aac3
mov rax, qword [rsp + 0x48]
mov r13, qword [rax]
mov rdi, qword [rax + 8]
cmp rdi, r13
jb 0x18003c02c
mov r9, qword [rsp + 0xb0]
cmp r9, rdi
jb 0x18003c02c
sub rdi, r13
jne 0x180039c92
movdqa xmmword [rsp + 0x130], xmm6
lea rcx, [0x180133170]
lea r13, [0x180159498]
jmp 0x180039cd7
mov rax, qword [rsp + 0xa0]
mov r8, qword [rsp + 0xa8]
mov rcx, r14
mov rdx, r15
call qword [rax]
mov qword [rsp + 0x310], rdi
add r13, qword [rsp + 0x308]
mov rcx, qword [rsp + 0x300]
lea rax, [rsp + 0x310]
movdqu xmm0, xmmword [rax]
movdqa xmmword [rsp + 0x130], xmm0
mov rbx, qword [rsp + 0x108]
cmp esi, 1
mov qword [rsp + 0xc8], r13
mov qword [rsp + 0x1c0], rcx
jne 0x180039d57
test rbx, rbx
js 0x18003a00c
xorps xmm0, xmm0
cvtsi2ss xmm0, rbx
mov rsi, qword [rsp + 0xf0]
test rsi, rsi
jns 0x18003a037
mov rax, rsi
shr rax, 1
mov ecx, esi
and ecx, 1
or rcx, rax
cvtsi2ss xmm1, rcx
addss xmm1, xmm1
divss xmm0, xmm1
ucomiss xmm0, xmm9
jb 0x18003a04a
mov qword [rsp + 0xd0], 0
add rsi, rsi
lea rcx, [rsp + 0xd0]
mov rdx, rsi
jmp 0x180039d85
mov rdx, qword [rsp + 0xf0]
mov rax, rdx
shr rax, 2
mov rcx, rdx
sub rcx, rax
cmp rbx, rcx
jne 0x180039d8a
test rbx, rbx
je 0x18003a36b
add rdx, rdx
lea rcx, [rsp + 0xd0]
call fcn.18003c8f0
mov rcx, qword [rsp + 0xd0]
cmp rcx, 2
mov qword [rsp + 0x238], rcx
jne 0x180039e53
movdqu xmm0, xmmword [rsp + 0xd8]
pshufd xmm1, xmm0, 0x44
pxor xmm1, xmm10
movdqa xmmword [rsp + 0x300], xmm1
pshufd xmm1, xmm0, 0xee
pxor xmm1, xmm11
movdqa xmmword [rsp + 0x310], xmm1
movdqa xmmword [rsp + 0x320], xmm0
lea rax, [rsp + 0x310]
movdqa xmmword [rax + 0x20], xmm6
mov qword [rax + 0x30], 0
mov r14, qword [rsp + 0x208]
xor eax, eax
test r14, r14
setne al
mov qword [rsp + 0x80], rax
mov r8d, 8
lea rsi, [rsp + 0x300]
mov rcx, rsi
lea rdi, [rsp + 0x80]
mov rdx, rdi
call fcn.180020480
mov rbx, r14
test r14, r14
je 0x18003a221
mov rdx, qword [rsp + 0x210]
mov r8, qword [rsp + 0x218]
mov rcx, rsi
mov qword [rsp + 0x68], rdx
jmp 0x18003a242
mov r10, qword [rsp + 0x208]
xor r15d, r15d
test r10, r10
setne r15b
movabs rax, 0xcbf29ce484222325
xor r15, rax
movabs rax, 0x1efac7090aef4a21
imul r15, rax
test r10, r10
je 0x18003a34f
mov rax, qword [rsp + 0x210]
mov qword [rsp + 0x68], rax
mov r8, qword [rsp + 0x218]
test r8, r8
je 0x18003a557
mov rcx, r8
and rcx, 7
je 0x18003a4d0
mov rax, qword [rsp + 0x68]
movabs r9, 0x100000001b3
nop word cs:[rax + rax]
movzx edx, byte [rax]
inc rax
xor rdx, r15
imul rdx, r9
mov r15, rdx
dec rcx
jne 0x180039ed0
jmp 0x18003a4e2
mov qword [rsp + 0x300], 0
mov qword [rsp + 0x308], rsi
mov qword [rsp + 0x310], r12
mov qword [rsp + 0x318], rsi
mov qword [rsp + 0x320], 0
mov qword [rsp + 0x328], rsi
mov qword [rsp + 0x330], 1
movabs rax, 0x2c0000002c
mov qword [rsp + 0x338], rax
mov word [rsp + 0x340], 1
nop word [rax + rax]
mov rcx, r14
call fcn.180040d50
test rax, rax
je 0x180039c2e
mov rcx, rax
call fcn.180036220
cmp rdx, 5
jne 0x180039f50
movzx ecx, byte [rax]
lea edx, [rcx - 0x41]
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, cl
cmp dl, 0x63
jne 0x180039f50
movzx ecx, byte [rax + 1]
lea edx, [rcx - 0x41]
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, cl
cmp dl, 0x6c
jne 0x180039f50
movzx ecx, byte [rax + 2]
lea edx, [rcx - 0x41]
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, cl
cmp dl, 0x6f
jne 0x180039f50
movzx ecx, byte [rax + 3]
lea edx, [rcx - 0x41]
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, cl
cmp dl, 0x73
jne 0x180039f50
movzx eax, byte [rax + 4]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x65
jne 0x180039f50
mov dword [rsp + 0x50], 0
mov rsi, qword [rsp + 0xd0]
cmp rsi, 3
mov qword [rsp + 0x1d8], r12
jne 0x180039c4e
jmp 0x18003aac3
mov rax, rbx
shr rax, 1
mov ecx, ebx
and ecx, 1
or rcx, rax
xorps xmm0, xmm0
cvtsi2ss xmm0, rcx
addss xmm0, xmm0
mov rsi, qword [rsp + 0xf0]
test rsi, rsi
js 0x180039d16
cvtsi2ss xmm1, rsi
divss xmm0, xmm1
ucomiss xmm0, xmm9
jae 0x180039d3b
mov eax, dword [0x180168bbc]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0xa0], 0
jne 0x18003a06c
call fcn.1800531e0
mov qword [rsp + 0xd0], 2
mov eax, dword [0x180168bbc]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movdqu xmm0, xmmword [rax + 0xa8]
inc qword [rax + 0xa8]
movdqu xmmword [rsp + 0xd8], xmm0
mov rdi, qword [rsp + 0xe8]
test rsi, rsi
je 0x18003a10f
lea rcx, [rsi - 1]
movabs rax, 0x3fffffffffffffff
and rcx, rax
mov rax, rdi
cmp rcx, 7
jb 0x18003a0f9
inc rcx
mov rdx, rcx
and rdx, 0xfffffffffffffff8
lea rax, [rdi + rdx*4]
xor r8d, r8d
nop dword [rax + rax]
movups xmmword [rdi + r8*4], xmm7
movups xmmword [rdi + r8*4 + 0x10], xmm7
add r8, 8
cmp rdx, r8
jne 0x18003a0e0
cmp rcx, rdx
je 0x18003a10f
lea rcx, [rdi + rsi*4]
nop dword [rax]
mov dword [rax], 0xffff
add rax, 4
cmp rax, rcx
jne 0x18003a100
test rbx, rbx
je 0x180039d8a
mov r14, qword [rsp + 0xf8]
lea rax, [rbx + rbx*2]
shl rax, 5
add rax, r14
mov qword [rsp + 0x30], rax
movzx r15d, word [rsp + 0x128]
xor r12d, r12d
jmp 0x18003a158
mov word [rdi + rcx*4], r13w
mov rdx, rcx
mov word [rdi + rdx*4 + 2], ax
cmp r14, qword [rsp + 0x30]
je 0x180039d8a
mov r13, r12
mov rbx, rbp
mov rbp, r14
add r14, 0x60
inc r12
lea rdx, [rbp + 0x38]
lea rcx, [rsp + 0xd0]
call fcn.180036910
mov r8d, r15d
and r8d, eax
mov word [rbp + 0x58], ax
mov rbp, rbx
xor edx, edx
nop dword [rax + rax]
mov rcx, r8
mov r8d, 0
cmp rcx, rsi
jae 0x18003a190
cmp word [rdi + rcx*4], 0xffff
je 0x18003a140
movzx r8d, word [rdi + rcx*4 + 2]
and r8d, r15d
mov r9d, ecx
sub r9d, r8d
and r9d, r15d
cmp r9, rdx
jb 0x18003a1f0
inc rdx
inc rcx
mov r8, rcx
jmp 0x18003a190
movzx r8d, word [rdi + rdx*4 + 2]
mov word [rdi + rdx*4], r13w
mov word [rdi + rdx*4 + 2], ax
inc rdx
mov eax, r8d
mov r13d, ecx
mov rcx, rdx
nop word cs:[rax + rax]
mov rdx, rcx
mov ecx, 0
cmp rdx, rsi
jae 0x18003a1f0
movzx ecx, word [rdi + rdx*4]
cmp cx, 0xffff
jne 0x18003a1c7
mov word [rdi + rdx*4], r13w
mov word [rdi + rdx*4 + 2], ax
cmp r14, qword [rsp + 0x30]
jne 0x18003a158
jmp 0x180039d8a
movzx eax, byte [rsp + 0x210]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x80], rax
mov r8d, 8
mov rcx, rsi
mov rdx, rdi
call fcn.180020480
mov rax, qword [rsp + 0x310]
mov r9, qword [rsp + 0x330]
shl r9, 0x38
or r9, qword [rsp + 0x338]
mov rcx, qword [rsp + 0x318]
mov r8, qword [rsp + 0x300]
add r8, rax
rol rax, 0xd
xor rcx, r9
xor rax, r8
rol r8, 0x20
mov rdx, qword [rsp + 0x308]
add rdx, rcx
rol rcx, 0x10
xor rcx, rdx
add r8, rcx
rol rcx, 0x15
add rdx, rax
rol rax, 0x11
xor rcx, r8
xor rax, rdx
rol rdx, 0x20
xor r8, r9
add r8, rax
rol rax, 0xd
xor rax, r8
rol r8, 0x20
xor rdx, 0xff
add rdx, rcx
rol rcx, 0x10
xor rcx, rdx
add r8, rcx
rol rcx, 0x15
add rdx, rax
rol rax, 0x11
xor rax, rdx
rol rdx, 0x20
xor rcx, r8
add r8, rax
rol rax, 0xd
xor rax, r8
rol r8, 0x20
add rdx, rcx
rol rcx, 0x10
xor rcx, rdx
add r8, rcx
rol rcx, 0x15
add rdx, rax
rol rax, 0x11
xor rax, rdx
rol rdx, 0x20
xor rcx, r8
add r8, rax
rol rax, 0xd
xor rax, r8
add rdx, rcx
shl rcx, 0x10
xor rcx, rdx
shr rcx, 0x2b
add rdx, rax
shr rax, 0x2f
xor rax, rcx
mov r15, rdx
shr r15, 0x20
xor r15, rdx
xor r15, rax
mov r10, rbx
jmp 0x18003a557
movzx ecx, byte [rsp + 0x210]
mov qword [rsp + 0x68], rcx
xor r15, rcx
imul r15, rax
xor r10d, r10d
jmp 0x18003a557
mov word [rsp + 0x128], 7
movzx eax, byte [0x180168bb8]
mov rax, qword [0x180168b78]
test rax, rax
jne 0x18003a39e
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18003c1bf
mov qword [0x180168b78], rax
mov r8d, 0x20
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18003c1bf
mov rsi, rax
movups xmmword [rax], xmm7
movups xmmword [rax + 0x10], xmm7
cmp qword [rsp + 0xf0], 0
je 0x18003a3e4
mov r8, qword [rsp + 0xe8]
mov rcx, qword [0x180168b78]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov qword [rsp + 0xe8], rsi
mov qword [rsp + 0xf0], 8
movzx eax, byte [0x180168bb8]
mov rax, qword [0x180168b78]
test rax, rax
jne 0x18003a421
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18003c1d0
mov qword [0x180168b78], rax
mov r8d, 0x240
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18003c1d0
mov rsi, rax
mov rdi, qword [rsp + 0xf8]
mov r14, qword [rsp + 0x108]
test r14, r14
je 0x18003a48e
lea rbx, [rdi + 0x30]
jmp 0x18003a474
mov rax, qword [rbx - 0x18]
mov rdx, qword [rbx - 0x10]
mov r8, qword [rbx - 8]
mov rcx, rbx
call qword [rax + 0x10]
add rbx, 0x60
dec r14
je 0x18003a48e
mov rax, qword [rbx + 8]
test rax, rax
je 0x18003a459
lea rcx, [rbx + 0x20]
mov rdx, qword [rbx + 0x10]
mov r8, qword [rbx + 0x18]
call qword [rax + 0x10]
jmp 0x18003a459
cmp qword [rsp + 0x100], 0
je 0x18003a4ab
mov rcx, qword [0x180168b78]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
mov qword [rsp + 0xf8], rsi
mov qword [rsp + 0x100], 6
mov qword [rsp + 0x108], 0
jmp 0x180039d8a
mov rdx, r15
mov rax, qword [rsp + 0x68]
movabs r9, 0x100000001b3
cmp r8, 8
jb 0x18003a554
mov rcx, qword [rsp + 0x68]
add rcx, r8
movzx r8d, byte [rax]
xor r8, rdx
imul r8, r9
movzx edx, byte [rax + 1]
xor rdx, r8
imul rdx, r9
movzx r8d, byte [rax + 2]
xor r8, rdx
imul r8, r9
movzx edx, byte [rax + 3]
xor rdx, r8
imul rdx, r9
movzx r8d, byte [rax + 4]
xor r8, rdx
imul r8, r9
movzx edx, byte [rax + 5]
xor rdx, r8
imul rdx, r9
movzx r8d, byte [rax + 6]
xor r8, rdx
imul r8, r9
movzx edx, byte [rax + 7]
add rax, 8
xor rdx, r8
imul rdx, r9
cmp rax, rcx
jne 0x18003a4f0
mov r15, rdx
and r15d, 0x7fff
movzx edi, word [rsp + 0x128]
mov ebp, r15d
and ebp, edi
mov rsi, qword [rsp + 0xe8]
mov r12, qword [rsp + 0xf0]
mov r9, qword [rsp + 0x108]
mov r8, qword [rsp + 0xf8]
mov r11, qword [rsp + 0x210]
mov rax, qword [rsp + 0x218]
mov qword [rsp + 0x30], rax
xor r13d, r13d
mov qword [rsp + 0x60], r9
mov qword [rsp + 0xc0], r10
mov qword [rsp + 0x150], r8
mov qword [rsp + 0x228], r11
jmp 0x18003a5d6
mov rcx, qword [rsp + 0x68]
cmp byte [rax + 8], cl
je 0x18003a699
inc r13
inc rbp
mov rax, rbp
nop dword [rax]
mov rbp, rax
mov eax, 0
cmp rbp, r12
jae 0x18003a5e0
movzx r14d, word [rsi + rbp*4]
cmp r14, 0xffff
je 0x18003a76a
movzx eax, word [rsi + rbp*4 + 2]
mov ecx, edi
and ecx, eax
mov edx, ebp
sub edx, ecx
and edx, edi
cmp rdx, r13
jb 0x18003a7d1
cmp ax, r15w
jne 0x18003a5d0
cmp r9, r14
jbe 0x18003c02c
test r10, r10
sete al
lea rbx, [r14 + r14*2]
shl rbx, 5
mov rcx, qword [r8 + rbx + 0x38]
test rcx, rcx
setne dl
cmp dl, al
je 0x18003a5d0
lea rax, [r8 + rbx]
add rax, 0x38
test rcx, rcx
je 0x18003a5c2
mov rcx, qword [rsp + 0x30]
cmp qword [rax + 0x10], rcx
jne 0x18003a5d0
mov rcx, qword [rax + 8]
mov rdx, r11
mov r8, qword [rsp + 0x30]
call fcn.1800f6b80
mov r11, qword [rsp + 0x228]
mov r8, qword [rsp + 0x150]
mov r9, qword [rsp + 0x60]
mov r10, qword [rsp + 0xc0]
test eax, eax
jne 0x18003a5d0
lea rdi, [r8 + rbx]
cmp qword [r8 + rbx], 0
je 0x18003b17e
mov rbx, qword [rdi + 0x10]
mov rsi, qword [rsp + 0x120]
mov rcx, rsi
cmp rsi, qword [rsp + 0x118]
lea r13, [rsp + 0x80]
jne 0x18003a6e1
lea rcx, [rsp + 0x110]
mov rdx, rsi
call fcn.18003cc30
mov rcx, qword [rsp + 0x120]
mov rax, qword [rsp + 0x110]
mov rdx, rcx
shl rdx, 6
mov qword [rax + rdx], 1
mov qword [rax + rdx + 8], rbx
mov qword [rax + rdx + 0x10], 0
mov qword [rax + rdx + 0x18], r14
mov r8, qword [rsp + 0x1c0]
mov qword [rax + rdx + 0x20], r8
mov r8, qword [rsp + 0xc8]
mov qword [rax + rdx + 0x28], r8
movdqa xmm0, xmmword [rsp + 0x130]
movdqu xmmword [rax + rdx + 0x30], xmm0
inc rcx
mov qword [rsp + 0x120], rcx
cmp rbx, rcx
jae 0x18003c02c
shl rbx, 6
mov qword [rax + rbx + 0x10], 1
mov qword [rax + rbx + 0x18], rsi
mov qword [rdi], 1
mov qword [rdi + 0x10], rsi
jmp 0x18003aac3
test r10, r10
je 0x18003a84f
lea rcx, [rsp + 0x300]
lea rdx, [rsp + 0x220]
mov rsi, r8
mov r8, r11
mov r9, qword [rsp + 0x30]
call qword [r10]
mov r8, rsi
mov r9, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x300]
movzx r11d, byte [rsp + 0x308]
lea rax, [rsp + 0x310]
movdqu xmm0, xmmword [rax - 7]
movdqa xmmword [rsp + 0x80], xmm0
mov rax, qword [rax + 8]
mov qword [rsp + 0x8f], rax
jmp 0x18003a851
cmp r13, 0x200
setae r14b
cmp dword [rsp + 0x238], 2
setne dil
test r10, r10
je 0x18003a959
lea rcx, [rsp + 0x300]
lea rdx, [rsp + 0x220]
mov rbx, r8
mov r8, r11
mov r9, qword [rsp + 0x30]
call qword [r10]
mov r8, rbx
mov r9, qword [rsp + 0x60]
mov r13, qword [rsp + 0x300]
movzx r11d, byte [rsp + 0x308]
lea rax, [rsp + 0x310]
movdqu xmm0, xmmword [rax - 7]
movdqa xmmword [rsp + 0x80], xmm0
mov rax, qword [rax + 8]
mov qword [rsp + 0x8f], rax
jmp 0x18003a95c
xor esi, esi
lea r13, [rsp + 0x80]
mov rax, qword [rsp + 0x8f]
mov qword [rsp + 0x30f], rax
movdqa xmm0, xmmword [rsp + 0x80]
movdqa xmmword [rsp + 0x300], xmm0
cmp r9, 0x7fff
ja 0x18003c02c
mov rax, r9
cmp r9, qword [rsp + 0x100]
jne 0x18003a8c8
lea rcx, [rsp + 0xf8]
mov rdx, r9
mov rdi, r11
call fcn.18003ccf0
mov r11, rdi
mov r9, qword [rsp + 0x60]
mov rax, qword [rsp + 0x108]
mov r12, qword [rsp + 0xf0]
mov r8, qword [rsp + 0xf8]
lea rcx, [rax + rax*2]
shl rcx, 5
mov qword [r8 + rcx], 0
mov rdx, qword [rsp + 0x1c0]
mov qword [r8 + rcx + 0x18], rdx
mov rdx, qword [rsp + 0xc8]
mov qword [r8 + rcx + 0x20], rdx
movaps xmm0, xmmword [rsp + 0x130]
movups xmmword [r8 + rcx + 0x28], xmm0
mov qword [r8 + rcx + 0x38], rsi
mov byte [r8 + rcx + 0x40], r11b
movdqa xmm0, xmmword [rsp + 0x300]
movdqu xmmword [r8 + rcx + 0x41], xmm0
mov rdx, qword [rsp + 0x30f]
mov qword [r8 + rcx + 0x50], rdx
mov word [r8 + rcx + 0x58], r15w
inc rax
mov qword [rsp + 0x108], rax
cmp rbp, r12
jae 0x18003c02c
mov rax, qword [rsp + 0xe8]
mov word [rax + rbp*4], r9w
mov word [rax + rbp*4 + 2], r15w
jmp 0x18003aac3
xor r13d, r13d
mov rax, qword [rsp + 0x8f]
mov qword [rsp + 0x30f], rax
movdqa xmm0, xmmword [rsp + 0x80]
movdqa xmmword [rsp + 0x300], xmm0
cmp r9, 0x7fff
ja 0x18003c02c
mov rax, r9
cmp r9, qword [rsp + 0x100]
jne 0x18003a9d3
lea rcx, [rsp + 0xf8]
mov rdx, r9
mov rsi, r11
call fcn.18003ccf0
mov r11, rsi
mov r9, qword [rsp + 0x60]
mov rax, qword [rsp + 0x108]
mov r8, qword [rsp + 0xf8]
mov rsi, qword [rsp + 0xe8]
mov r12, qword [rsp + 0xf0]
and r14b, dil
lea rcx, [rax + rax*2]
shl rcx, 5
mov qword [r8 + rcx], 0
mov rdx, qword [rsp + 0x1c0]
mov qword [r8 + rcx + 0x18], rdx
mov rdx, qword [rsp + 0xc8]
mov qword [r8 + rcx + 0x20], rdx
movaps xmm0, xmmword [rsp + 0x130]
movups xmmword [r8 + rcx + 0x28], xmm0
mov qword [r8 + rcx + 0x38], r13
mov byte [r8 + rcx + 0x40], r11b
movdqa xmm0, xmmword [rsp + 0x300]
movdqu xmmword [r8 + rcx + 0x41], xmm0
mov rdx, qword [rsp + 0x30f]
mov qword [r8 + rcx + 0x50], rdx
mov word [r8 + rcx + 0x58], r15w
inc rax
mov qword [rsp + 0x108], rax
xor eax, eax
lea r13, [rsp + 0x80]
mov rcx, rbp
mov ebp, 0
cmp rcx, r12
jae 0x18003aa50
movzx edx, word [rsi + rcx*4]
cmp dx, 0xffff
je 0x18003aa89
inc rax
movzx r8d, word [rsi + rcx*4 + 2]
mov word [rsi + rcx*4], r9w
mov word [rsi + rcx*4 + 2], r15w
inc rcx
mov r15d, r8d
mov r9d, edx
mov rbp, rcx
jmp 0x18003aa50
mov word [rsi + rcx*4], r9w
mov word [rsi + rcx*4 + 2], r15w
mov rcx, qword [rsp + 0xd0]
test rcx, rcx
mov rdx, rcx
mov r8d, 1
cmove rdx, r8
cmp rax, 0x7f
cmova rcx, rdx
test r14b, r14b
cmovne rcx, rdx
mov qword [rsp + 0xd0], rcx
add qword [rsp + 0x48], 0x20
movdqu xmm0, xmmword [rsp + 0x208]
movupd xmm1, xmmword [rsp + 0x218]
movapd xmmword [rsp + 0x90], xmm1
movdqa xmmword [rsp + 0x80], xmm0
lea rsi, [rsp + 0x160]
mov rcx, rsi
call fcn.180036f70
mov rcx, rsi
mov rdx, r13
call fcn.180036910
mov r8d, eax
movzx eax, ax
movzx r14d, word [rsp + 0x1b8]
mov dword [rsp + 0xc8], eax
mov r15d, eax
and r15d, r14d
mov rbx, qword [rsp + 0x178]
mov r12, qword [rsp + 0x180]
mov rsi, qword [rsp + 0x198]
mov r9, qword [rsp + 0x188]
mov r10, qword [rsp + 0x80]
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x150], rax
movzx r11d, byte [rsp + 0x88]
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x30], rax
xor ebp, ebp
mov qword [rsp + 0x60], r9
mov word [rsp + 0x68], r8w
mov qword [rsp + 0xc0], r10
mov byte [rsp + 0x228], r11b
jmp 0x18003aba6
cmp byte [rax + 8], r11b
je 0x18003ac6d
nop dword [rax + rax]
inc rbp
inc r15
mov rax, r15
nop dword [rax]
mov r15, rax
mov eax, 0
cmp r15, r12
jae 0x18003abb0
movzx r13d, word [rbx + r15*4]
cmp r13, 0xffff
je 0x18003ad70
movzx eax, word [rbx + r15*4 + 2]
mov ecx, r14d
and ecx, eax
mov edx, r15d
sub edx, ecx
and edx, r14d
cmp rdx, rbp
jb 0x18003ae9a
cmp ax, r8w
jne 0x18003aba0
cmp rsi, r13
jbe 0x18003c02c
test r10, r10
sete al
imul rdi, r13, 0x68
mov rcx, qword [r9 + rdi + 0x40]
test rcx, rcx
setne dl
cmp dl, al
je 0x18003aba0
lea rax, [r9 + rdi]
add rax, 0x40
test rcx, rcx
je 0x18003ab91
mov rcx, qword [rsp + 0x30]
cmp qword [rax + 0x10], rcx
jne 0x18003aba0
mov rcx, qword [rax + 8]
mov rdx, qword [rsp + 0x150]
mov r8, qword [rsp + 0x30]
call fcn.1800f6b80
movzx r11d, byte [rsp + 0x228]
mov r10, qword [rsp + 0xc0]
movzx r8d, word [rsp + 0x68]
mov r9, qword [rsp + 0x60]
test eax, eax
jne 0x18003aba0
lea r14, [r9 + rdi]
cmp qword [r9 + rdi], 0
je 0x18003b068
mov rbx, qword [r14 + 0x10]
mov rsi, qword [rsp + 0x1b0]
mov rax, rsi
cmp rsi, qword [rsp + 0x1a8]
lea r15, [rsp + 0xb8]
mov rbp, qword [rsp + 0x1d0]
lea r12, [0x180133370]
jne 0x18003acc4
lea rcx, [rsp + 0x1a0]
mov rdx, rsi
call fcn.1800bda70
mov rax, qword [rsp + 0x1b0]
mov rcx, qword [rsp + 0x1a0]
lea rdx, [rax + rax*8]
mov qword [rcx + rdx*8], 1
mov qword [rcx + rdx*8 + 8], rbx
mov qword [rcx + rdx*8 + 0x10], 0
mov qword [rcx + rdx*8 + 0x18], r13
mov r8, qword [rsp + 0x148]
mov qword [rcx + rdx*8 + 0x20], r8
mov r8, qword [rsp + 0x1d8]
mov qword [rcx + rdx*8 + 0x28], r8
mov r8, qword [rsp + 0x1e0]
mov qword [rcx + rdx*8 + 0x30], r8
mov r8, qword [rsp + 0x140]
mov qword [rcx + rdx*8 + 0x38], r8
mov byte [rcx + rdx*8 + 0x40], 0
mov r8d, dword [rsp + 0x130]
mov r9d, dword [rsp + 0x133]
mov dword [rcx + rdx*8 + 0x41], r8d
mov dword [rcx + rdx*8 + 0x44], r9d
inc rax
mov qword [rsp + 0x1b0], rax
cmp rbx, rax
jae 0x18003c02c
lea rax, [rbx + rbx*8]
mov qword [rcx + rax*8 + 0x10], 1
mov qword [rcx + rax*8 + 0x18], rsi
mov qword [r14], 1
jmp 0x18003b13c
cmp rsi, 0x7fff
ja 0x18003c02c
movaps xmm0, xmmword [rsp + 0x80]
movaps xmm1, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0x310], xmm1
movaps xmmword [rsp + 0x300], xmm0
mov rax, rsi
cmp rsi, qword [rsp + 0x190]
mov rbp, qword [rsp + 0x1d0]
lea r13, [rsp + 0x80]
mov edi, dword [rsp + 0xc8]
jne 0x18003ade9
lea rcx, [rsp + 0x188]
mov rdx, rsi
call fcn.1800203c0
mov rax, qword [rsp + 0x198]
mov r12, qword [rsp + 0x180]
mov r9, qword [rsp + 0x188]
imul rcx, rax, 0x68
mov qword [r9 + rcx], 0
mov rdx, qword [rsp + 0x148]
mov qword [r9 + rcx + 0x18], rdx
mov rdx, qword [rsp + 0x1d8]
mov qword [r9 + rcx + 0x20], rdx
mov rdx, qword [rsp + 0x1e0]
mov qword [r9 + rcx + 0x28], rdx
mov rdx, qword [rsp + 0x140]
mov qword [r9 + rcx + 0x30], rdx
mov byte [r9 + rcx + 0x38], 0
mov edx, dword [rsp + 0x130]
mov r8d, dword [rsp + 0x133]
mov dword [r9 + rcx + 0x39], edx
mov dword [r9 + rcx + 0x3c], r8d
movdqa xmm0, xmmword [rsp + 0x300]
movapd xmm1, xmmword [rsp + 0x310]
movdqu xmmword [r9 + rcx + 0x40], xmm0
movupd xmmword [r9 + rcx + 0x50], xmm1
mov word [r9 + rcx + 0x60], di
inc rax
mov qword [rsp + 0x198], rax
cmp r15, r12
jae 0x18003c02c
mov rax, qword [rsp + 0x178]
mov word [rax + r15*4], si
mov word [rax + r15*4 + 2], di
jmp 0x18003b041
cmp rbp, 0x200
setae dil
cmp qword [rsp + 0x160], 2
setne bpl
movdqa xmm0, xmmword [rsp + 0x80]
movapd xmm1, xmmword [rsp + 0x90]
movapd xmmword [rsp + 0x310], xmm1
movdqa xmmword [rsp + 0x300], xmm0
cmp rsi, 0x7fff
ja 0x18003c02c
mov rax, rsi
cmp rsi, qword [rsp + 0x190]
lea r13, [rsp + 0x80]
mov r14d, dword [rsp + 0xc8]
jne 0x18003af30
lea rcx, [rsp + 0x188]
mov rdx, rsi
call fcn.1800203c0
mov rax, qword [rsp + 0x198]
mov r9, qword [rsp + 0x188]
mov rbx, qword [rsp + 0x178]
mov r12, qword [rsp + 0x180]
and dil, bpl
imul rcx, rax, 0x68
mov qword [r9 + rcx], 0
mov rdx, qword [rsp + 0x148]
mov qword [r9 + rcx + 0x18], rdx
mov rdx, qword [rsp + 0x1d8]
mov qword [r9 + rcx + 0x20], rdx
mov rdx, qword [rsp + 0x1e0]
mov qword [r9 + rcx + 0x28], rdx
mov rdx, qword [rsp + 0x140]
mov qword [r9 + rcx + 0x30], rdx
mov byte [r9 + rcx + 0x38], 0
mov edx, dword [rsp + 0x130]
mov r8d, dword [rsp + 0x133]
mov dword [r9 + rcx + 0x39], edx
mov dword [r9 + rcx + 0x3c], r8d
movdqa xmm0, xmmword [rsp + 0x300]
movapd xmm1, xmmword [rsp + 0x310]
movdqu xmmword [r9 + rcx + 0x40], xmm0
movupd xmmword [r9 + rcx + 0x50], xmm1
mov word [r9 + rcx + 0x60], r14w
inc rax
mov qword [rsp + 0x198], rax
xor eax, eax
mov rbp, qword [rsp + 0x1d0]
nop dword [rax]
mov rcx, r15
mov r15d, 0
cmp rcx, r12
jae 0x18003afd0
movzx edx, word [rbx + rcx*4]
cmp dx, 0xffff
je 0x18003b008
inc rax
movzx r8d, word [rbx + rcx*4 + 2]
mov word [rbx + rcx*4], si
mov word [rbx + rcx*4 + 2], r14w
inc rcx
mov r14d, r8d
mov esi, edx
mov r15, rcx
jmp 0x18003afd0
mov word [rbx + rcx*4], si
mov word [rbx + rcx*4 + 2], r14w
mov rcx, qword [rsp + 0x160]
test rcx, rcx
mov rdx, rcx
mov r8d, 1
cmove rdx, r8
cmp rax, 0x7f
cmova rcx, rdx
test dil, dil
cmovne rcx, rdx
mov qword [rsp + 0x160], rcx
lea r15, [rsp + 0xb8]
lea r12, [0x180133370]
mov rsi, qword [rsp + 0x48]
cmp rsi, qword [rsp + 0x258]
jne 0x1800395c6
jmp 0x18003b225
mov rsi, qword [rsp + 0x1b0]
mov rax, rsi
cmp rsi, qword [rsp + 0x1a8]
lea r15, [rsp + 0xb8]
mov rbp, qword [rsp + 0x1d0]
lea r12, [0x180133370]
jne 0x18003b0ac
lea rcx, [rsp + 0x1a0]
mov rdx, rsi
call fcn.1800bda70
mov rax, qword [rsp + 0x1b0]
mov rcx, qword [rsp + 0x1a0]
lea rdx, [rax + rax*8]
mov qword [rcx + rdx*8], 0
mov qword [rcx + rdx*8 + 8], r13
mov qword [rcx + rdx*8 + 0x10], 0
mov qword [rcx + rdx*8 + 0x18], r13
mov r8, qword [rsp + 0x148]
mov qword [rcx + rdx*8 + 0x20], r8
mov r8, qword [rsp + 0x1d8]
mov qword [rcx + rdx*8 + 0x28], r8
mov r8, qword [rsp + 0x1e0]
mov qword [rcx + rdx*8 + 0x30], r8
mov r8, qword [rsp + 0x140]
mov qword [rcx + rdx*8 + 0x38], r8
mov byte [rcx + rdx*8 + 0x40], 0
mov r8d, dword [rsp + 0x130]
mov r9d, dword [rsp + 0x133]
mov dword [rcx + rdx*8 + 0x41], r8d
mov dword [rcx + rdx*8 + 0x44], r9d
inc rax
mov qword [rsp + 0x1b0], rax
mov qword [r14], 1
mov qword [r14 + 8], rsi
mov qword [r14 + 0x10], rsi
lea r13, [rsp + 0x80]
mov rax, qword [rsp + 0x80]
test rax, rax
mov rsi, qword [rsp + 0x48]
je 0x18003b055
mov rdx, qword [rsp + 0x88]
mov r8, qword [rsp + 0x90]
lea rcx, [rsp + 0x98]
call qword [rax + 0x10]
jmp 0x18003b055
mov rsi, qword [rsp + 0x120]
mov rax, rsi
cmp rsi, qword [rsp + 0x118]
lea r13, [rsp + 0x80]
jne 0x18003b1b3
lea rcx, [rsp + 0x110]
mov rdx, rsi
call fcn.18003cc30
mov rax, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x110]
mov rdx, rax
shl rdx, 6
mov qword [rcx + rdx], 0
mov qword [rcx + rdx + 8], r14
mov qword [rcx + rdx + 0x10], 0
mov qword [rcx + rdx + 0x18], r14
mov r8, qword [rsp + 0x1c0]
mov qword [rcx + rdx + 0x20], r8
mov r8, qword [rsp + 0xc8]
mov qword [rcx + rdx + 0x28], r8
movdqa xmm0, xmmword [rsp + 0x130]
movdqu xmmword [rcx + rdx + 0x30], xmm0
inc rax
mov qword [rsp + 0x120], rax
mov qword [rdi], 1
mov qword [rdi + 8], rsi
mov qword [rdi + 0x10], rsi
jmp 0x18003aac3
mov r13, qword [rsp + 0xd0]
cmp r13, 3
mov qword [rsp + 0x48], r13
je 0x18003b481
movups xmm0, xmmword [rsp + 0x120]
movaps xmmword [rsp + 0x2f0], xmm0
movups xmm0, xmmword [rsp + 0x110]
movaps xmmword [rsp + 0x2e0], xmm0
movups xmm0, xmmword [rsp + 0xd0]
movups xmm1, xmmword [rsp + 0xe0]
movdqu xmm2, xmmword [rsp + 0xf0]
movdqu xmm3, xmmword [rsp + 0x100]
movdqa xmmword [rsp + 0x2d0], xmm3
movdqa xmmword [rsp + 0x2c0], xmm2
movaps xmmword [rsp + 0x2b0], xmm1
movaps xmmword [rsp + 0x2a0], xmm0
movzx eax, byte [0x180168bb8]
mov rax, qword [0x180168b78]
test rax, rax
mov r14, qword [rsp + 0x40]
mov r12, qword [rsp + 0x1c8]
jne 0x18003b2d6
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18003c170
mov qword [0x180168b78], rax
mov r8d, 0x20
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18003c170
mov rsi, rax
lea rax, [0x180136570]
mov qword [rsi], rax
movdqu xmmword [rsi + 8], xmm6
mov qword [rsi + 0x18], 0
movzx eax, byte [0x180168bb8]
mov rax, qword [0x180168b78]
test rax, rax
jne 0x18003b333
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18003c192
mov qword [0x180168b78], rax
mov r8d, 0x60
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18003c192
movaps xmm0, xmmword [rsp + 0x2f0]
movups xmmword [rax + 0x50], xmm0
movaps xmm0, xmmword [rsp + 0x2e0]
movups xmmword [rax + 0x40], xmm0
movdqa xmm0, xmmword [rsp + 0x2a0]
movapd xmm1, xmmword [rsp + 0x2b0]
movdqa xmm2, xmmword [rsp + 0x2c0]
movdqa xmm3, xmmword [rsp + 0x2d0]
movdqu xmmword [rax + 0x30], xmm3
movdqu xmmword [rax + 0x20], xmm2
movupd xmmword [rax + 0x10], xmm1
movdqu xmmword [rax], xmm0
lea rcx, fcn.18003c480
mov qword [rsp + 0x20], rcx
mov rcx, rsi
movabs rdx, 0x5fd0436ded3eeafa
movabs r8, 0x24b674c0a1cdd066
mov r9, rax
call fcn.18003c270
test rax, rax
je 0x18003b712
mov rdi, rax
mov rbx, rdx
mov rcx, rax
call qword [rdx + 0x18]
movabs rcx, 0x24b674c0a1cdd066
xor rdx, rcx
movabs rcx, 0x5fd0436ded3eeafa
xor rax, rcx
or rax, rdx
jne 0x18003b6e9
movups xmm0, xmmword [rdi + 0x50]
movaps xmmword [rsp + 0x350], xmm0
movups xmm0, xmmword [rdi + 0x40]
movaps xmmword [rsp + 0x340], xmm0
movdqu xmm0, xmmword [rdi]
movupd xmm1, xmmword [rdi + 0x10]
movdqu xmm2, xmmword [rdi + 0x20]
movdqu xmm3, xmmword [rdi + 0x30]
movdqa xmmword [rsp + 0x330], xmm3
movdqa xmmword [rsp + 0x320], xmm2
movapd xmmword [rsp + 0x310], xmm1
movdqa xmmword [rsp + 0x300], xmm0
mov rcx, qword [0x180168b78]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
cmp qword [rsp + 0x300], 3
je 0x18003b712
lea rcx, [rsp + 0x300]
call fcn.18003c480
jmp 0x18003b712
cmp qword [rsp + 0x1e8], 0
mov r14, qword [rsp + 0x40]
mov r12, qword [rsp + 0x1c8]
je 0x18003b681
movups xmm0, xmmword [rsp + 0x1e8]
movups xmm1, xmmword [rsp + 0x1f8]
movaps xmmword [rsp + 0x310], xmm1
movaps xmmword [rsp + 0x300], xmm0
movzx eax, byte [0x180168bb8]
mov rax, qword [0x180168b78]
test rax, rax
jne 0x18003b4e6
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18003c170
mov qword [0x180168b78], rax
mov r8d, 0x20
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18003c170
mov rsi, rax
lea rax, [0x180136570]
mov qword [rsi], rax
movdqu xmmword [rsi + 8], xmm6
mov qword [rsi + 0x18], 0
mov r13b, 1
jmp 0x18003b744
lea eax, [rsi - 1]
mov word [rsp + 0x1b8], ax
lea rbx, [rsi*4]
movzx eax, byte [0x180168bb8]
mov rax, qword [0x180168b78]
test rax, rax
jne 0x18003b55e
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18003c1a3
mov qword [0x180168b78], rax
mov rcx, rax
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18003c1a3
mov rdi, rax
cmp rsi, 2
jb 0x18003b5df
mov ecx, 1
mov rax, rdi
cmp rsi, 9
jb 0x18003b5c9
lea rdx, [rsi - 1]
mov r8, rdx
and r8, 0xfffffffffffffff8
lea rax, [rdi + r8*4]
lea rcx, [r8 + 1]
xor r9d, r9d
nop word cs:[rax + rax]
movups xmmword [rdi + r9*4], xmm7
movups xmmword [rdi + r9*4 + 0x10], xmm7
add r9, 8
cmp r8, r9
jne 0x18003b5b0
cmp rdx, r8
je 0x18003b5df
mov rdx, rsi
sub rdx, rcx
nop
mov dword [rax], 0xffff
add rax, 4
dec rdx
jne 0x18003b5d0
mov dword [rax], 0xffff
test r14, r14
je 0x18003b601
mov r8, qword [rsp + 0x178]
mov rcx, qword [0x180168b78]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rax, rsi
shr rax, 2
mov r14, rsi
sub r14, rax
xor ebx, ebx
mov qword [rsp + 0x178], rdi
mov qword [rsp + 0x180], rsi
movabs rax, 0x13b13b13b13b13c
cmp r14, rax
setb al
jae 0x18003c02c
imul rsi, r14, 0x68
mov bl, al
shl rbx, 3
test rsi, rsi
je 0x18003b690
movzx eax, byte [0x180168bb8]
mov rax, qword [0x180168b78]
test rax, rax
jne 0x18003b66e
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18003c1b2
mov qword [0x180168b78], rax
mov rcx, rax
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapAlloc]
mov rdi, rax
jmp 0x18003b693
mov r13b, 1
xor ebx, ebx
xor esi, esi
mov dil, 1
jmp 0x18003b88f
mov rdi, rbx
test rdi, rdi
je 0x18003c1b2
cmp qword [rsp + 0x190], 0
je 0x18003b6be
mov r8, qword [rsp + 0x188]
mov rcx, qword [0x180168b78]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov qword [rsp + 0x188], rdi
mov qword [rsp + 0x190], r14
mov qword [rsp + 0x198], 0
cmp r13, 0x65
jb 0x18003958f
jmp 0x18003c02c
mov rcx, rdi
call qword [rbx]
cmp qword [rbx + 8], 0
je 0x18003b712
cmp qword [rbx + 0x10], 0x11
jb 0x18003b700
mov rdi, qword [rdi - 8]
mov rcx, qword [0x180168b78]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
cmp qword [rsp + 0x1e8], 0
je 0x18003b887
movups xmm0, xmmword [rsp + 0x1e8]
movups xmm1, xmmword [rsp + 0x1f8]
movaps xmmword [rsp + 0x310], xmm1
movaps xmmword [rsp + 0x300], xmm0
xor r13d, r13d
movzx eax, byte [0x180168bb8]
mov rax, qword [0x180168b78]
test rax, rax
jne 0x18003b76d
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18003c170
mov qword [0x180168b78], rax
mov r8d, 0x20
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18003c170
movdqa xmm0, xmmword [rsp + 0x300]
movapd xmm1, xmmword [rsp + 0x310]
movupd xmmword [rax + 0x10], xmm1
movdqu xmmword [rax], xmm0
lea rcx, [0x1801221c8]
mov qword [rsp + 0x20], rcx
mov rcx, rsi
movabs rdx, 0xcae07aca791f9a1b
movabs r8, 0x3eb2edac452716f6
mov r9, rax
call fcn.18003c270
test rax, rax
je 0x18003b881
mov rdi, rax
mov rbx, rdx
mov rcx, rax
call qword [rdx + 0x18]
movabs rcx, 0x3eb2edac452716f6
xor rdx, rcx
movabs rcx, 0xcae07aca791f9a1b
xor rax, rcx
or rax, rdx
jne 0x18003b858
movdqu xmm0, xmmword [rdi]
movupd xmm1, xmmword [rdi + 0x10]
movapd xmmword [rsp + 0x90], xmm1
movdqa xmmword [rsp + 0x80], xmm0
mov rcx, qword [0x180168b78]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x18003b881
mov rdx, qword [rsp + 0x88]
mov r8, qword [rsp + 0x90]
lea rcx, [rsp + 0x98]
call qword [rax + 0x10]
jmp 0x18003b881
mov rcx, rdi
call qword [rbx]
cmp qword [rbx + 8], 0
je 0x18003b881
cmp qword [rbx + 0x10], 0x11
jb 0x18003b86f
mov rdi, qword [rdi - 8]
mov rcx, qword [0x180168b78]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
mov bl, 1
xor edi, edi
jmp 0x18003b88f
mov dil, 1
xor ebx, ebx
xor r13d, r13d
movups xmm0, xmmword [rsp + 0x1b0]
movaps xmmword [rsp + 0x350], xmm0
movups xmm0, xmmword [rsp + 0x1a0]
movaps xmmword [rsp + 0x340], xmm0
movdqu xmm0, xmmword [rsp + 0x160]
movupd xmm1, xmmword [rsp + 0x170]
movdqu xmm2, xmmword [rsp + 0x180]
movdqu xmm3, xmmword [rsp + 0x190]
movdqa xmmword [rsp + 0x330], xmm3
movdqa xmmword [rsp + 0x320], xmm2
movapd xmmword [rsp + 0x310], xmm1
movdqa xmmword [rsp + 0x300], xmm0
mov rax, qword [rsp + 0x158]
mov byte [rsp + 0x36a], al
mov word [rsp + 0x368], r12w
mov qword [rsp + 0x360], rsi
movzx eax, r12w
cmp eax, 0x64
jg 0x18003b924
je 0x18003b952
jmp 0x18003b943
cmp eax, 0x65
je 0x18003bf91
cmp eax, 0xcc
je 0x18003bf97
cmp eax, 0x130
je 0x18003bf97
lea eax, [r12 - 0x66]
cmp ax, 0x62
jae 0x18003bf62
mov r12, qword [rbp + 8]
test r12, r12
je 0x18003bf3b
lea rcx, [rsp + 0x300]
call fcn.180053a60
mov rcx, rsi
call fcn.18003c790
cmp dword [rsp + 0x48], 3
jne 0x18003b995
mov rax, qword [rsp + 0xd0]
cmp eax, 3
je 0x18003b995
lea rcx, [rsp + 0xd0]
call fcn.18003c480
mov rax, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xa8]
mov r8, qword [rsp + 0xb0]
mov rcx, r15
call qword [rax + 0x10]
mov rax, qword [rsp + 0x1e8]
test rax, rax
sete cl
or bl, cl
je 0x18003b9d2
lea r11, [rsp + 0x200]
jmp 0x180038377
mov rdx, qword [rsp + 0x1f0]
mov r8, qword [rsp + 0x1f8]
lea rcx, [rsp + 0x200]
call qword [rax + 0x10]
lea r11, [rsp + 0x200]
jmp 0x180038377
mov r9d, 4
jmp 0x18003ba05
xor r9d, r9d
sub rbx, r9
je 0x18003bdb9
add rax, r9
xor r9d, r9d
xor r8d, r8d
jmp 0x18003ba3c
inc r13
test r10b, r10b
movzx r9d, r9b
mov r10d, 1
cmovs r9d, r10d
mov r8, r13
cmp rbx, r13
mov r11, rsi
je 0x18003bdb9
mov rsi, r11
mov r13, r8
movzx r10d, byte [rax + r8]
mov r11d, r10d
add r11d, 0xfffffff7
cmp r11d, 0x17
ja case.0x18003ba6b.11
mov r13, r15
lea r15, [0x18003c1f4]
movsxd r11, dword [r15 + r11*4]
add r11, r15
mov r15, r13
mov r13, r8
jmp r11
test r10b, r10b
js case.0x18003ba6b.9
lea r11d, [r10 - 0x7f]
cmp r11b, 0xa2
jae case.0x18003ba6b.9
jmp case.0x18003c042.3
mov r10, r13
not r10
add rbx, r10
test r9b, 1
mov r10, rax
lea r9, [0x180159498]
cmovne r10, r9
lea rax, [rax + r13 + 1]
mov r9d, 0
cmovne r13, r9
mov qword [rsp + 0x68], r13
mov r11, rsi
jmp 0x18003baff
lea r10, [r13 + 1]
cmp rbx, r10
jbe 0x18003bdb9
cmp byte [rax + r8 + 1], 0xa
jne case.0x18003c042.3
mov r11, rsi
sub rbx, r8
add rbx, 0xfffffffffffffffe
test r9b, 1
mov r10, rax
lea r9, [0x180159498]
cmovne r10, r9
lea rax, [rax + r8 + 2]
mov r9d, 0
cmovne r8, r9
mov qword [rsp + 0x68], r8
mov qword [rsp + 0xc0], r10
test r10, r10
jne 0x180038694
jmp 0x18003bdb9
add rsi, qword [rsp + 0x60]
jmp 0x18003bb3f
cmp rcx, rsi
jbe 0x18003bdb9
mov rax, qword [rsp + 0x48]
cmp byte [rax + rsi], 0xa
jne 0x18003bc3d
mov rax, qword [rsp + 0x60]
add rsi, rax
inc rsi
mov rax, rsi
and rax, 0xffffffffffffff00
mov qword [rsp + 0x48], rax
mov rcx, qword [rsp + 0x1c8]
lea eax, [rcx - 0x3e8]
movzx eax, ax
cmp eax, 0xfc7c
jb 0x18003c157
call fcn.180031410
test rax, rax
mov r15, qword [rsp + 0x68]
je 0x18003bb98
cmp r15, rdx
jne 0x18003bb98
mov rcx, qword [rsp + 0xc0]
mov rdx, rax
mov r8, r15
call fcn.1800f6b80
test eax, eax
je 0x18003bcb1
test r15, r15
je 0x18003bc51
js 0x18003c02c
movzx eax, byte [0x180168bb8]
mov rax, qword [0x180168b78]
test rax, rax
jne 0x18003bbd0
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18003c1e1
mov qword [0x180168b78], rax
mov rcx, rax
xor edx, edx
mov r8, qword [rsp + 0x68]
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18003c1e1
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0xc0]
mov r15, qword [rsp + 0x68]
mov r8, r15
call fcn.1800f64f0
mov rcx, qword [rsp + 0x30]
test cl, 1
jne 0x18003bc8d
mov rax, rcx
or rax, 1
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xe0], r15
mov qword [rsp + 0xe8], rax
xor r15d, r15d
lea rax, [0x1801214a8]
jmp 0x18003bcb6
mov rax, qword [rsp + 0x70]
and rax, 0xffffffffffffff00
or rax, 2
jmp 0x18003910b
lea rax, [0x180159498]
mov qword [rsp + 0xd8], rax
lea rax, [rsp + 0xd8]
movdqu xmmword [rax + 8], xmm6
xor r15d, r15d
lea rax, [0x180133170]
jmp 0x18003bcb6
mov rax, qword [rsp + 0x70]
and rax, 0xffffffffffffff00
or rax, 1
jmp 0x18003910b
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xe0], r15
mov qword [rsp + 0xe8], rcx
xor r15d, r15d
lea rax, [0x1801214c0]
jmp 0x18003bcb6
mov r15b, 1
xor eax, eax
mov qword [rsp + 0xd0], rax
cmp r13, 0x64
mov edx, 0x64
cmovb rdx, r13
test rdx, rdx
je 0x18003bd56
cmp r13, 0x64
mov edx, 0x64
cmovb rdx, r13
shl rdx, 5
xor r8d, r8d
mov r9, qword [rsp + r8 + 0x308]
cmp r9, 0xffff
ja 0x18003c112
mov r10, qword [rsp + r8 + 0x300]
mov r11, qword [rsp + r8 + 0x310]
sub r10, rdi
add r9, r10
sub r11, rdi
mov rcx, rbp
mov rbp, r14
mov r14, qword [rsp + r8 + 0x318]
add r14, r11
mov qword [rsp + r8 + 0xf80], r10
mov qword [rsp + r8 + 0xf88], r9
mov qword [rsp + r8 + 0xf90], r11
mov qword [rsp + r8 + 0xf98], r14
mov r14, rbp
mov rbp, rcx
add r8, 0x20
cmp rdx, r8
jne 0x18003bce8
movzx ecx, sil
or rcx, qword [rsp + 0x48]
sub r12, rbx
mov qword [rsp + 0x70], rcx
add r12, rcx
lea rdx, [rsp + 0xd8]
mov rcx, qword [rdx + 0x10]
mov qword [rsp + 0x170], rcx
movdqu xmm0, xmmword [rdx]
movdqa xmmword [rsp + 0x160], xmm0
lea r15, [rsp + 0xb8]
jmp 0x18003914c
mov eax, 5
jmp 0x18003910b
mov rax, qword [rsp + 0x70]
and rax, 0xffffffffffffff00
or rax, 1
mov r14, rdx
jmp 0x18003910b
mov qword [r14], 3
jmp 0x18003beda
xor eax, eax
mov byte [r14 + 8], al
mov qword [r14], 4
jmp 0x18003beda
mov rsi, qword [rsp + 0x98]
test sil, 1
jne 0x18003be13
lock dec qword [rsi + 0x20]
lea r15, [rsp + 0xb8]
jne 0x18003be46
mov rax, qword [rsi + 0x20]
cmp qword [rsi + 8], 0
je 0x18003be34
mov r8, qword [rsi]
mov rcx, qword [0x180168b78]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x18003be34
shr rsi, 5
neg rsi
cmp qword [rsp + 0x90], rsi
lea r15, [rsp + 0xb8]
je 0x18003be46
add rsi, qword [rsp + 0x80]
mov rcx, qword [0x180168b78]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
mov rax, qword [rsp + 0x40]
mov byte [rax + 8], 0xb
mov qword [rax], 4
mov r13b, 1
xor esi, esi
mov dil, 1
test r13b, r13b
je 0x18003be7d
mov rax, qword [rsp + 0xd0]
cmp eax, 3
je 0x18003be7d
lea rcx, [rsp + 0xd0]
call fcn.18003c480
test sil, sil
jne 0x18003be8f
lea rcx, [rsp + 0x160]
call fcn.180053a60
mov rax, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xa8]
mov r8, qword [rsp + 0xb0]
mov rcx, r15
call qword [rax + 0x10]
test dil, dil
je 0x18003beda
mov rax, qword [rsp + 0x1e8]
test rax, rax
je 0x18003beda
mov rdx, qword [rsp + 0x1f0]
mov r8, qword [rsp + 0x1f8]
lea rcx, [rsp + 0x200]
call qword [rax + 0x10]
movaps xmm6, xmmword [rsp + 0x1c00]
movaps xmm7, xmmword [rsp + 0x1c10]
movaps xmm8, xmmword [rsp + 0x1c20]
movaps xmm9, xmmword [rsp + 0x1c30]
movaps xmm10, xmmword [rsp + 0x1c40]
movaps xmm11, xmmword [rsp + 0x1c50]
movaps xmm12, xmmword [rsp + 0x1c60]
movaps xmm13, xmmword [rsp + 0x1c70]
add rsp, 0x1c88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov al, 4
jmp case.0x18003c042.0
mov eax, 3
mov qword [r14], rax
lea rcx, [rsp + 0x300]
call fcn.180053a60
mov rcx, qword [rsp + 0x360]
call fcn.18003c790
jmp 0x18003c01b
mov rax, qword [rsp + 0x230]
mov rax, qword [rax + 8]
movzx eax, byte [rax]
cmp eax, 5
je 0x18003bf97
cmp eax, 7
jne 0x18003c04b
add r12d, 0xffffff38
cmp r12w, 0x64
jae 0x18003c04b
mov al, 1
xor edx, edx
jmp 0x18003bf9b
xor edx, edx
xor eax, eax
movaps xmm0, xmmword [rsp + 0x360]
movups xmmword [r14 + 0x60], xmm0
movaps xmm0, xmmword [rsp + 0x350]
movups xmmword [r14 + 0x50], xmm0
movaps xmm0, xmmword [rsp + 0x340]
movups xmmword [r14 + 0x40], xmm0
movdqa xmm0, xmmword [rsp + 0x300]
movapd xmm1, xmmword [rsp + 0x310]
movdqa xmm2, xmmword [rsp + 0x320]
movdqa xmm3, xmmword [rsp + 0x330]
movdqu xmmword [r14 + 0x30], xmm3
movdqu xmmword [r14 + 0x20], xmm2
movupd xmmword [r14 + 0x10], xmm1
movdqu xmmword [r14], xmm0
mov ecx, eax
xor cl, 1
mov r8d, dword [rsp + 0x50]
and r8b, cl
mov qword [r14 + 0x70], rdx
mov byte [r14 + 0x78], 0
mov byte [r14 + 0x79], r8b
mov byte [r14 + 0x7a], al
mov sil, 1
test r13b, r13b
jne 0x18003be63
jmp 0x18003be7d
ud2
xor eax, eax
mov ecx, ecx
lea rdx, [0x18003c254]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
mov al, 0xa
jmp case.0x18003c042.0
movups xmm0, xmmword [0x180122c78]
movaps xmmword [rsp + 0x90], xmm0
movdqu xmm0, xmmword [0x180122c68]
movdqa xmmword [rsp + 0x80], xmm0
lea rcx, [rsp + 0x300]
lea rdx, [rsp + 0x80]
call fcn.18003c570
test al, al
je 0x18003c0a8
mov cl, 2
cmp byte [rsp + 0x158], 1
je 0x18003c104
lea rcx, [rsp + 0x300]
call fcn.18003c6d0
movzx edx, al
not rdx
jmp 0x18003bf99
lea rcx, [rsp + 0x300]
call fcn.1800364a0
cmp rax, 1
jne 0x18003c0c9
mov cl, 9
cmp rdx, 0xfffffffffffffffe
jb 0x18003bf99
jmp 0x18003c104
movups xmm0, xmmword [0x180134728]
movaps xmmword [rsp + 0x90], xmm0
movdqu xmm0, xmmword [0x180134718]
movdqa xmmword [rsp + 0x80], xmm0
lea rcx, [rsp + 0x300]
lea rdx, [rsp + 0x80]
call fcn.18003c570
mov cl, 1
test al, al
je 0x18003c14b
mov byte [r14 + 8], cl
mov eax, 4
jmp 0x18003bf40
mov byte [r14 + 8], 9
mov qword [r14], 4
test r15b, r15b
jne 0x18003beda
mov rdx, qword [rsp + 0xd8]
mov r8, qword [rsp + 0xe0]
lea rcx, [rsp + 0xe8]
jmp 0x18003bed7
mov al, 9
jmp case.0x18003c042.0
mov rdx, 0xffffffffffffffff
jmp 0x18003bf99
mov byte [r14 + 8], 0xa
jmp 0x18003bdcb
mov ecx, 1
mov rdx, rsi
call fcn.180103b10
ud2
mov ecx, 8
mov edx, 0x20
call fcn.180103b10
ud2
mov ecx, 8
mov edx, 0x18
call fcn.180103b10
ud2
mov ecx, 8
mov edx, 0x60
call fcn.180103b10
ud2
mov ecx, 2
mov rdx, rbx
call fcn.180103b10
ud2
mov rcx, rbx
mov rdx, rsi
call fcn.180103b10
ud2
mov ecx, 2
mov edx, 0x20
call fcn.180103b10
ud2
mov ecx, 8
mov edx, 0x240
call fcn.180103b10
ud2
mov ecx, 1
mov rdx, qword [rsp + 0x68]
call fcn.180103b10
ud2