Function at 0x1800394b0
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.1800f8040
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 [0x180111740]
movdqa xmm8, xmmword [0x1801117d0]
movss xmm9, dword [0x180111750]
movdqa xmm10, xmmword [str.uespemosarenegylmodnarodsetybdet]
movdqa xmm11, xmmword [0x180111730]
movdqa xmm12, xmmword [0x180111a60]
movdqa xmm13, xmmword [0x180111a70]
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 0x18003d009
mov rdi, qword [rbp]
xor edx, edx
jmp 0x1800395ec
inc rdx
cmp rdx, r12
jae 0x18003d009
movzx r8d, byte [rdi + rdx]
cmp r8d, 0xa
je 0x1800395e0
cmp r8d, 0xd
jne 0x180039630
lea rax, [rdx + 1]
cmp rax, r12
jae 0x18003d009
cmp byte [rdi + rdx + 1], 0xa
jne 0x18003d015
add rdx, 2
cmp rdx, r12
jb 0x1800395ec
jmp 0x18003d009
lea rax, [rdi + rdx]
mov rcx, r12
sub rcx, rdx
cmp rcx, 8
jae 0x1800396e2
cmp r12, rdx
je 0x18003d009
cmp r8b, 0x48
jne case.default.0x18003d292
cmp rcx, 2
jb 0x18003d009
cmp byte [rax + 1], 0x54
jne case.default.0x18003d292
cmp rcx, 3
jb 0x18003d009
cmp byte [rax + 2], 0x54
jne case.default.0x18003d292
cmp rcx, 4
jb 0x18003d009
cmp byte [rax + 3], 0x50
jne case.default.0x18003d292
cmp rcx, 5
jb 0x18003d009
cmp byte [rax + 4], 0x2f
jne case.default.0x18003d292
cmp rcx, 6
jb 0x18003d009
cmp byte [rax + 5], 0x31
jne case.default.0x18003d292
cmp rcx, 7
jb 0x18003d009
cmp byte [rax + 6], 0x2e
mov ecx, 6
mov eax, 0
cmove rcx, rax
jne 0x18003a363
jmp 0x18003d009
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.0x18003d292
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.0x18003d292
test r8b, 1
je case.default.0x18003d292
shr rdx, 0x30
cmp dl, 0x2e
jne case.default.0x18003d292
pextrw edx, xmm0, 3
shr edx, 8
cmp dl, 0x30
je 0x1800397a9
cmp edx, 0x31
jne case.default.0x18003d292
mov dl, 2
jmp 0x1800397ab
mov dl, 1
mov qword [rsp + 0x158], rdx
cmp rcx, 9
jb 0x18003d009
cmp byte [rax + 8], 0x20
jne case.default.0x18003d292
add rax, 9
lea rbx, [rcx - 9]
cmp byte [rsp + 0x5f], 0
je 0x1800397fb
cmp rcx, 9
je 0x18003d009
test rax, rax
je 0x18003d009
cmp byte [rax], 0x20
jne 0x1800397fb
inc rax
dec rbx
jne 0x1800397e9
jmp 0x18003d009
test rbx, rbx
je 0x18003d009
movzx ecx, byte [rax]
add cl, 0xd0
cmp cl, 9
ja case.0x18003d292.3
cmp rbx, 2
jb 0x18003d009
movzx edx, byte [rax + 1]
add dl, 0xd0
cmp dl, 9
ja case.0x18003d292.3
cmp rbx, 3
jb 0x18003d009
movzx r8d, byte [rax + 2]
add r8b, 0xd0
mov byte [rsp + 0x48], r8b
cmp r8b, 0xa
jae case.0x18003d292.3
cmp rbx, 4
jb 0x18003d009
movzx r9d, byte [rax + 3]
cmp r9d, 0xa
je 0x1800398a7
cmp r9d, 0xd
je 0x1800398b1
cmp r9d, 0x20
jne case.0x18003d292.3
cmp byte [rsp + 0x5f], 0
je 0x18003cc4a
cmp rbx, 5
jb 0x18003d009
add rbx, 0xfffffffffffffffc
add rax, 4
cmp byte [rax], 0x20
jne 0x18003cc52
inc rax
dec rbx
jne 0x180039891
jmp 0x18003d009
add rax, 4
add rbx, 0xfffffffffffffffc
jmp 0x1800398cd
cmp rbx, 4
jbe 0x18003d009
cmp byte [rax + 4], 0xa
jne case.0x18003d292.3
add rax, 5
add rbx, 0xfffffffffffffffb
xor r8d, r8d
mov qword [rsp + 0x68], r8
lea r9, [0x18015db18]
mov qword [rsp + 0xc0], r9
test rbx, rbx
je 0x18003d009
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 0x1800399de
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax]
mov esi, 1
cmp eax, 0xa
je 0x18003cd65
cmp eax, 0xd
je 0x18003cd6c
lea rdx, [0x180126349]
cmp byte [rax + rdx], 0
jne 0x180039a0e
test al, al
je 0x18003a350
movzx eax, al
cmp eax, 0xa
je 0x1800399c6
cmp eax, 0xd
je 0x1800399ab
cmp rcx, rsi
jbe 0x18003d009
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + rsi]
inc rsi
test al, al
jne 0x180039980
jmp 0x18003a350
cmp rcx, rsi
jbe 0x18003d009
mov rax, qword [rsp + 0x48]
cmp byte [rax + rsi], 0xa
jne 0x18003a350
inc rsi
add qword [rsp + 0x60], rsi
add qword [rsp + 0x48], rsi
sub rcx, rsi
jne 0x180039948
jmp 0x18003d009
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax]
mov esi, 1
cmp eax, 0xa
je 0x18003cd65
cmp eax, 0xd
je 0x18003cd6c
lea rdx, [0x180126349]
cmp byte [rax + rdx], 0
je 0x18003a350
mov r9, rcx
sub r9, rsi
mov rax, qword [rsp + 0x48]
lea rdx, [rax + rsi]
inc rdx
cmp rcx, rsi
jbe 0x18003d009
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, [0x180126349]
cmp byte [r8 + r15], 0
lea r15, [rsp + 0xb8]
jne 0x180039a20
mov rdx, rcx
sub rdx, rsi
mov qword [rsp + 0x40], rdx
cmp r8b, 0x3a
jne 0x180039a94
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 0x180039b3e
jmp 0x18003d009
cmp byte [rsp + 0x7e], 0
je 0x18003a08a
mov rdx, qword [rsp + 0x48]
add rdx, rsi
mov qword [rsp + 0x30], rdx
sub r10, rcx
xor edx, edx
cmp r8b, 0x20
je 0x180039ad9
mov r15, rbp
mov rbp, r11
movzx r11d, r8b
cmp r11d, 9
mov r11, rbp
mov rbp, r15
lea r15, [rsp + 0xb8]
jne 0x18003a08c
lea r8, [r10 + rdx]
inc r8
test r8, r8
je 0x18003d009
mov r8, qword [rsp + 0x30]
movzx r8d, byte [r8 + rdx]
inc rdx
cmp r8b, 0x3a
jne 0x180039ab1
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 0x180039b3e
jmp 0x18003d009
add qword [rsp + 0x60], rcx
add qword [rsp + 0x30], rcx
sub r10, rcx
mov qword [rsp + 0x40], r10
je 0x18003d009
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax]
cmp byte [rsp + 0x3f], 0
je 0x180039bda
xor r9d, r9d
mov r10, qword [rsp + 0x40]
lea rcx, [r9 + 1]
cmp al, 0x20
je 0x180039b26
movzx edx, al
cmp edx, 9
je 0x180039b26
lea r8, [0x180126449]
cmp byte [rdx + r8], 0
jne 0x180039c0e
cmp al, 0xa
je 0x180039bb0
cmp edx, 0xd
mov rdx, rcx
jne 0x18003a186
cmp r10, rdx
jbe 0x18003d009
mov rax, qword [rsp + 0x30]
cmp byte [rax + r9 + 1], 0xa
mov r10, qword [rsp + 0x40]
jne 0x18003cec9
add r9, 2
jmp 0x180039bb3
mov r9, rcx
cmp r9, r10
jae 0x18003d009
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + r9]
cmp eax, 9
mov r10, qword [rsp + 0x40]
je 0x180039b59
cmp eax, 0x20
je 0x180039b59
jmp 0x18003a2fd
movzx r9d, al
mov ecx, 1
cmp r9d, 9
mov r10, qword [rsp + 0x40]
je 0x180039b26
cmp r9d, 0x20
je 0x180039b26
lea rdx, [0x180126449]
cmp byte [r9 + rdx], 0
je 0x18003a16d
mov r8, rcx
mov rax, qword [0x18016cae8]
test rax, rax
mov qword [rsp + 0x40], r10
jne 0x180039cba
mov rcx, qword [0x18016cbb0]
test rcx, rcx
je 0x180039c62
mov rax, qword [0x18016cbb0]
test cx, cx
js 0x180039c99
test rax, rax
je 0x18003a030
and eax, 0x800
cmp rax, 1
mov ecx, 0
sbb rcx, rcx
or rcx, 1
shr rax, 0xb
jmp 0x180039cb3
mov r15, rbp
mov rbp, r11
mov qword [rsp + 0x50], r8
call fcn.18010d0d0
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 [0x18016cbb0]
test cx, cx
jns 0x180039c3e
test rax, rax
je 0x18003a05d
xor ecx, ecx
test eax, 0x800
sete cl
xor rcx, 3
mov rax, rcx
mov qword [0x18016cae8], rcx
cmp rax, 1
je 0x180039d29
cmp rax, 2
je 0x180039d7e
cmp rax, 3
jne 0x180039e1f
mov rax, r10
sub rax, r8
jb 0x18003d27c
cmp rax, 0x1f
jbe 0x180039dd0
mov rax, qword [rsp + 0x30]
lea rcx, [rax + r8]
mov r15, rbp
mov rbp, r11
mov qword [rsp + 0x50], r8
call fcn.1800347d0
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 0x180039cd4
jmp 0x180039e1f
mov rax, r10
sub rax, r8
jb 0x18003d27c
cmp rax, 0x10
jb 0x180039e1f
mov rax, qword [rsp + 0x30]
lea rcx, [rax + r8]
mov r15, rbp
mov rbp, r11
mov qword [rsp + 0x50], r8
call fcn.180034780
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 0x180039d29
jmp 0x180039e1f
mov rax, r10
sub rax, r8
jb 0x18003d27c
cmp rax, 0x20
jb 0x180039e1f
mov rax, qword [rsp + 0x30]
lea rcx, [rax + r8]
mov r15, rbp
mov rbp, r11
mov qword [rsp + 0x50], r8
call fcn.1800347d0
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 0x180039d7e
jmp 0x180039e1f
mov rax, r10
sub rax, r8
jb 0x18003d27c
cmp rax, 0x10
jb 0x180039e12
mov rax, qword [rsp + 0x30]
lea rcx, [rax + r8]
mov qword [rsp + 0x50], r8
call fcn.180034780
mov r8, qword [rsp + 0x50]
add r8, rax
cmp rax, 0x10
lea r11, [rsp + 0x200]
mov r10, qword [rsp + 0x40]
je 0x180039dd0
jmp 0x180039e1f
lea r11, [rsp + 0x200]
mov r10, qword [rsp + 0x40]
mov rdx, r8
cmp rdx, 0xfffffffffffffff7
ja 0x180039e39
lea rcx, [rdx + 8]
cmp rcx, r10
ja 0x180039e39
mov r8, rdx
jmp 0x180039ebd
cmp r10, rdx
jbe 0x18003d009
mov r9, r10
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + rdx]
lea r8, [rdx + 1]
lea rcx, [0x180126449]
cmp byte [rax + rcx], 0
je 0x180039f62
cmp rdx, 0xfffffffffffffff6
mov r10, r9
ja 0x180039e75
lea rcx, [rdx + 9]
cmp rcx, r10
jbe 0x180039ebd
add rdx, 9
mov rcx, rdx
lea rdx, [rcx - 8]
cmp r10, rdx
jbe 0x18003d009
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + rcx - 8]
lea r8, [0x180126449]
cmp byte [rax + r8], 0
je 0x180039f5b
inc rcx
cmp rdx, 0xfffffffffffffff6
mov r10, r9
ja 0x180039e7c
cmp rcx, r10
ja 0x180039e7c
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, [0x180126449]
cmp byte [rax + r9], 0
je 0x180039f67
movd edx, xmm0
mov eax, edx
shr eax, 8
movzx r8d, al
cmp byte [r8 + r9], 0
je 0x180039f71
mov eax, edx
shr eax, 0x10
movzx r8d, al
cmp byte [r8 + r9], 0
je 0x180039f7c
shr edx, 0x18
cmp byte [rdx + r9], 0
je 0x180039f87
pextrw eax, xmm0, 2
movzx edx, al
cmp byte [rdx + r9], 0
je 0x180039f94
shr eax, 8
cmp byte [rax + r9], 0
je 0x180039f9f
mov r8, r9
pextrw eax, xmm0, 3
movzx edx, al
cmp byte [rdx + r9], 0
je 0x180039faa
shr eax, 8
cmp byte [rax + r8], 0
mov rdx, rcx
jne 0x180039e22
mov r8, rcx
jmp 0x180039fb3
add rcx, 0xfffffffffffffff9
mov r8, rcx
mov r10, r9
jmp 0x180039fb3
mov r8, qword [rsp + 0x50]
inc r8
jmp 0x180039fb3
mov r8, qword [rsp + 0x50]
add r8, 2
jmp 0x180039fb3
mov r8, qword [rsp + 0x50]
add r8, 3
jmp 0x180039fb3
mov r8, qword [rsp + 0x50]
add r8, 4
mov eax, edx
jmp 0x180039fb3
mov r8, qword [rsp + 0x50]
add r8, 5
jmp 0x180039fb3
mov r8, qword [rsp + 0x50]
add r8, 6
jmp 0x180039fb3
mov r8, qword [rsp + 0x50]
add r8, 7
mov rcx, 0xffffffffffffffff
cmp al, 0xa
je 0x180039ff5
movzx ecx, al
cmp ecx, 0xd
jne 0x18003a120
cmp r10, r8
jbe 0x18003d009
mov rdx, r8
mov rcx, qword [rsp + 0x30]
cmp byte [rcx + rdx], 0xa
jne 0x18003cec9
mov rax, r10
mov r8, rdx
inc r8
mov rcx, 0xfffffffffffffffe
cmp byte [rsp + 0x3f], 0
je 0x18003a24b
cmp r10, r8
jbe 0x18003d009
mov rdx, r10
mov r9, r8
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + r9]
cmp eax, 9
je 0x180039c11
cmp eax, 0x20
je 0x180039c11
jmp 0x18003a24b
mov r15, rbp
mov rbp, r11
mov qword [rsp + 0x50], r8
call fcn.18010d0d0
mov r8, qword [rsp + 0x50]
mov r10, qword [rsp + 0x40]
mov r11, rbp
mov rbp, r15
lea r15, [rsp + 0xb8]
jmp 0x180039c47
mov r15, rbp
mov rbp, r11
mov qword [rsp + 0x50], r8
call fcn.18010d0d0
mov r8, qword [rsp + 0x50]
mov r10, qword [rsp + 0x40]
mov r11, rbp
mov rbp, r15
lea r15, [rsp + 0xb8]
jmp 0x180039ca2
xor edx, edx
cmp byte [rsp + 0x2f], 0
mov r9, qword [rsp + 0x40]
je 0x18003a350
add rax, rdx
test r8b, r8b
je 0x18003a350
movzx r8d, r8b
cmp r8d, 0xa
je 0x18003a0ef
cmp r8d, 0xd
je 0x18003a0da
cmp r9, rdx
jbe 0x18003d009
movzx r8d, byte [rax]
inc rdx
inc rax
mov r9, qword [rsp + 0x40]
test r8b, r8b
jne 0x18003a0a8
jmp 0x18003a350
cmp r9, rdx
jbe 0x18003d009
cmp byte [rax], 0xa
jne 0x18003a350
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 0x18003993d
jmp 0x18003d009
mov rdx, r14
cmp byte [rsp + 0x2f], 0
je 0x18003cff2
test al, al
je 0x18003cff2
movzx eax, al
cmp eax, 0xa
je 0x18003a246
cmp eax, 0xd
je 0x18003a227
cmp r10, r8
mov r14, rdx
jbe 0x18003d009
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + r8]
inc r8
test al, al
jne 0x18003a136
jmp 0x18003cff2
cmp r9d, 0xa
je 0x18003a2ca
mov edx, 1
cmp r9d, 0xd
je 0x18003a2d7
cmp byte [rsp + 0x2f], 0
je 0x18003cec9
test al, al
mov rcx, qword [rsp + 0x40]
je 0x18003cec9
movzx eax, al
cmp eax, 0xa
je 0x18003a1d2
cmp eax, 0xd
je 0x18003a1da
cmp rcx, rdx
jbe 0x18003d009
mov r8, rdx
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + r8]
inc rdx
test al, al
mov rcx, qword [rsp + 0x40]
jne 0x18003a19e
jmp 0x18003cec9
mov r8, rdx
mov rdx, r14
jmp 0x18003a1fc
cmp rcx, rdx
jbe 0x18003d009
mov r8, rdx
mov rdx, r14
mov rax, qword [rsp + 0x30]
cmp byte [rax + r8], 0xa
jne 0x18003cff2
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 0x18003993d
jmp 0x18003d009
cmp r10, r8
mov r14, rdx
jbe 0x18003d009
mov rax, qword [rsp + 0x30]
cmp byte [rax + r8], 0xa
jne 0x18003cff2
inc r8
mov rcx, r10
jmp 0x18003a201
cmp r13, 0x64
je 0x18003cfe8
mov rdx, r8
mov rax, r8
lea r8, [rdx + rcx]
sub r10, rdx
mov qword [rsp + 0x40], r8
test r8, r8
je 0x18003a2ad
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 0x18003a2b2
bt r9, r8
jae 0x18003a2b2
inc rcx
dec rax
mov r8, rdx
cmp rdx, rcx
jne 0x18003a287
mov rdx, qword [rsp + 0x40]
jmp 0x18003a30f
mov r8, rdx
jmp 0x18003a30d
mov r8, rdx
mov rax, rdx
sub rax, rcx
cmp rax, qword [rsp + 0x40]
mov rdx, rax
jbe 0x18003a30f
jmp 0x18003d27c
mov r9d, 1
mov r10, qword [rsp + 0x40]
jmp 0x18003a2fd
cmp qword [rsp + 0x40], 2
jb 0x18003d009
mov r9d, 2
mov rax, qword [rsp + 0x30]
cmp byte [rax + 1], 0xa
mov r10, qword [rsp + 0x40]
jne 0x18003cec9
cmp r13, 0x64
je 0x18003cfe8
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 0x18003991c
jmp 0x18003d009
mov rax, qword [rsp + 0x70]
and rax, 0xffffffffffffff00
mov qword [rsp + 0x70], rax
movzx ecx, al
cmp cl, 6
jne 0x18003d280
mov rax, qword [rsp + 0x230]
cmp byte [rax + 0x16], 0
je 0x18003d184
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.180014d70
cmp byte [rsp + 0x3f], 0
je 0x18003a4f2
cmp r13, 0x65
jae 0x18003d27c
test r13, r13
je 0x18003a4f2
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 0x18003a429
cmp r8, rax
je 0x18003a4f2
mov r11, qword [r8 + 0x10]
mov r9, qword [r8 + 0x18]
cmp r9, r11
jb 0x18003d27c
cmp r9, rdx
ja 0x18003d27c
add r8, 0x20
cmp r9, r11
je 0x18003a420
lea r10, [rcx + r11]
mov esi, r9d
sub esi, r11d
not r11
add r11, r9
and rsi, 3
jne 0x18003a47c
cmp r11, 3
jb 0x18003a420
add r9, rcx
jmp 0x18003a49d
mov byte [r10], 0x20
inc r10
dec rsi
je 0x18003a462
movzx edi, byte [r10]
cmp edi, 0xd
je 0x18003a470
cmp edi, 0xa
je 0x18003a470
jmp 0x18003a474
mov byte [r10 + 3], 0x20
mov r10, r11
cmp r11, r9
je 0x18003a420
movzx r11d, byte [r10]
cmp r11d, 0xd
je 0x18003a4ad
cmp r11d, 0xa
jne 0x18003a4b1
mov byte [r10], 0x20
movzx r11d, byte [r10 + 1]
cmp r11d, 0xd
je 0x18003a4c2
cmp r11d, 0xa
jne 0x18003a4c7
mov byte [r10 + 1], 0x20
movzx r11d, byte [r10 + 2]
cmp r11d, 0xd
je 0x18003a4d8
cmp r11d, 0xa
jne 0x18003a4dd
mov byte [r10 + 2], 0x20
lea r11, [r10 + 4]
movzx esi, byte [r10 + 3]
cmp esi, 0xd
je 0x18003a490
cmp esi, 0xa
je 0x18003a490
jmp 0x18003a495
mov rdi, qword [rsp + 0x270]
mov rax, qword [rsp + 0x278]
mov rsi, qword [rsp + 0x288]
test sil, 1
jne 0x18003a543
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], rsi
lea rax, [0x18013ac10]
mov qword [rsp + 0xa0], rax
lea r12, [0x180137918]
jmp 0x18003a632
mov r12, r14
mov r14, qword [rsp + 0x280]
shr rsi, 5
sub rdi, rsi
lea rbx, [rsi + rax]
cmp rax, r14
jne 0x18003a580
test rbx, rbx
je 0x18003a5e1
test dil, 1
mov r14, r12
mov rax, rdi
jne 0x18003a5f8
or rax, 1
lea rcx, [0x180125618]
jmp 0x18003a5ff
movzx eax, byte [0x18016cbc0]
mov rax, qword [0x18016cb80]
test rax, rax
jne 0x18003a5a9
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18003d3d1
mov qword [0x18016cb80], rax
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18003d3d1
add r14, rsi
mov qword [rax], rdi
mov qword [rax + 8], r14
mov qword [rax + 0x10], 1
lea rcx, [0x180112608]
mov r14, r12
jmp 0x18003a5ff
xor eax, eax
lea rdi, [0x18015db18]
xor ebx, ebx
lea rcx, [0x180137730]
mov r14, r12
jmp 0x18003a5ff
lea rcx, [0x180125630]
lea r12, [0x180137918]
sub rbx, rsi
jb 0x18003d27c
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 0x18003a69d
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 0x18003a6e1
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 0x18003a74f
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 0x18003a754
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 0x18003d27c
mov r14, qword [rsp + 0x180]
cmp rdx, r14
jbe 0x18003a7d5
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 0x18003d27c
test rsi, rsi
je 0x18003d27c
test rax, rax
je 0x18003c772
lea rcx, [rsp + 0x160]
mov rdx, rsi
call fcn.1800533b0
cmp r13, 0x65
jae 0x18003d27c
test r13, r13
je 0x18003c475
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 0x18003d27c
mov qword [rsp + 0x48], rsi
cmp r14, qword [rsp + 0xb0]
ja 0x18003d27c
mov rsi, r14
sub rsi, rdi
je 0x18003d096
mov rbx, qword [rsp + 0xa8]
cmp rsi, 0x40
ja 0x18003a877
mov rax, rdi
not rax
add r14, rax
mov eax, esi
and eax, 3
cmp r14, 3
jae 0x18003a8e1
xor r9d, r9d
lea r14, [rsp + 0x300]
jmp 0x18003a957
cmp rsi, 0x10000
jae 0x18003d096
movzx eax, byte [0x18016cbc0]
mov rax, qword [0x18016cb80]
test rax, rax
jne 0x18003a8ad
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18003d3b1
mov qword [0x18016cb80], rax
mov rcx, rax
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18003d3b1
mov rcx, rsi
mov r15, rbp
shr rcx, 0xa
je 0x18003a9f7
bsr rcx, rcx
xor rcx, 0x3f
jmp 0x18003a9fc
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 0x18003a900
test rax, rax
je 0x18003a986
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 0x18003a970
mov rcx, r14
mov rdx, rsi
call fcn.18002dde0
cmp al, 0x51
jne 0x18003a9cb
cmp rsi, 0xf
ja 0x18003aad4
xor eax, eax
nop word cs:[rax + rax]
cmp byte [rsp + rax + 0x300], 0
je 0x18003d096
inc rax
cmp rsi, rax
jne 0x18003a9b0
jmp 0x18003abf6
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 0x18003ad25
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 0x18003d027
cmp rsi, r8
jne 0x18003aa7c
mov edx, 1
mov rcx, r13
call fcn.180014f60
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 0x18003d27c
mov qword [rsp + 0x88], r8
inc rdi
cmp r14, rdi
jne 0x18003aa40
mov rdx, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x98]
test sil, 1
jne 0x18003ab2d
lea rax, [0x18013ac10]
mov r9, rsi
mov rbp, r15
lea r14, [rsp + 0x300]
lea r15, [rsp + 0xb8]
jmp 0x18003ad25
cmp qword [rsp + 0x268], r14
je 0x18003ab81
mov rcx, qword [rsp + 0x260]
cmp rcx, rsi
mov rax, rsi
cmovb rax, rcx
test rax, rax
je 0x18003ab81
xor ecx, ecx
cmp byte [rsp + rcx + 0x300], 0
je 0x18003d096
inc rcx
cmp rax, rcx
jne 0x18003aaff
lea rcx, [rsi - 0x10]
cmp rax, rcx
movabs r8, 0x8080808080808080
jbe 0x18003aba0
jmp 0x18003abf1
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 0x18003ac83
test rdi, rdi
je 0x18003acf2
test dl, 1
lea r15, [rsp + 0xb8]
mov r9, rdx
jne 0x18003ad0f
or r9, 1
lea rax, [0x180125618]
jmp 0x18003ad16
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 0x18003abf1
add rax, 0x10
cmp rax, rcx
jbe 0x18003aba0
jmp 0x18003abf1
cmp byte [rsp + rax + 0x300], 0
je 0x18003d096
inc rax
cmp rsi, rax
jne 0x18003abe0
test rsi, rsi
js 0x18003d27c
movzx eax, byte [0x18016cbc0]
mov rax, qword [0x18016cb80]
test rax, rax
lea r14, [rsp + 0x300]
jne 0x18003ac30
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18003d3b1
mov qword [0x18016cb80], rax
mov rcx, rax
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18003d3b1
mov rcx, rax
mov rdi, rax
mov rdx, r14
mov r8, rsi
call fcn.1800f8be0
mov rdx, rdi
mov r9, rdi
or r9, 1
test dl, 1
cmovne r9, rdi
lea rax, [0x180125630]
lea rcx, [0x180125618]
cmove rax, rcx
mov r8, rsi
jmp 0x18003ad25
mov r15, rdx
movzx eax, byte [0x18016cbc0]
mov rax, qword [0x18016cb80]
test rax, rax
jne 0x18003acaf
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18003d3d1
mov qword [0x18016cb80], rax
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18003d3d1
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, [0x180112608]
lea r15, [rsp + 0xb8]
jmp 0x18003ad16
lea rdx, [0x18015db18]
xor r9d, r9d
xor edi, edi
lea rax, [0x180137730]
lea r15, [rsp + 0xb8]
jmp 0x18003ad16
lea rax, [0x180125630]
mov r8, rdi
sub r8, rsi
jb 0x18003d27c
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 0x18003d27c
mov r9, qword [rsp + 0xb0]
cmp r9, rsi
jb 0x18003d27c
sub rsi, r12
mov qword [rsp + 0x240], rdx
jne 0x18003adbf
mov ecx, edx
xor esi, esi
xor edx, edx
mov qword [rsp + 0x140], rdx
lea r12, [0x18015db18]
lea rdx, [0x180137730]
mov qword [rsp + 0x148], rdx
test rax, rax
mov qword [rsp + 0x1e0], rsi
je 0x18003ae25
jmp 0x18003ae84
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 0x18003d27c
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 0x18003ae84
cmp cl, 0x14
jne 0x18003ae84
test byte [rsp + 0x50], 1
jne 0x18003ae5b
mov rcx, r12
mov rdx, rsi
call fcn.180037790
mov dword [rsp + 0x50], eax
mov rsi, qword [rsp + 0xd0]
cmp rsi, 3
mov qword [rsp + 0x1d8], r12
jne 0x18003ae9e
jmp 0x18003bd13
xor eax, eax
nop dword [rax]
cmp rsi, rax
je 0x18003b13a
movzx ecx, byte [r12 + rax]
inc rax
cmp cl, 9
je 0x18003ae60
add cl, 0xe0
cmp cl, 0x5f
jb 0x18003ae60
mov al, 1
mov dword [rsp + 0x50], eax
mov rsi, qword [rsp + 0xd0]
cmp rsi, 3
mov qword [rsp + 0x1d8], r12
je 0x18003bd13
mov rax, qword [rsp + 0x48]
mov r13, qword [rax]
mov rdi, qword [rax + 8]
cmp rdi, r13
jb 0x18003d27c
mov r9, qword [rsp + 0xb0]
cmp r9, rdi
jb 0x18003d27c
sub rdi, r13
jne 0x18003aee2
movdqa xmmword [rsp + 0x130], xmm6
lea rcx, [0x180137730]
lea r13, [0x18015db18]
jmp 0x18003af27
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 0x18003afa7
test rbx, rbx
js 0x18003b25c
xorps xmm0, xmm0
cvtsi2ss xmm0, rbx
mov rsi, qword [rsp + 0xf0]
test rsi, rsi
jns 0x18003b287
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 0x18003b29a
mov qword [rsp + 0xd0], 0
add rsi, rsi
lea rcx, [rsp + 0xd0]
mov rdx, rsi
jmp 0x18003afd5
mov rdx, qword [rsp + 0xf0]
mov rax, rdx
shr rax, 2
mov rcx, rdx
sub rcx, rax
cmp rbx, rcx
jne 0x18003afda
test rbx, rbx
je 0x18003b5bb
add rdx, rdx
lea rcx, [rsp + 0xd0]
call fcn.18003d9e0
mov rcx, qword [rsp + 0xd0]
cmp rcx, 2
mov qword [rsp + 0x238], rcx
jne 0x18003b0a3
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.1800208f0
mov rbx, r14
test r14, r14
je 0x18003b471
mov rdx, qword [rsp + 0x210]
mov r8, qword [rsp + 0x218]
mov rcx, rsi
mov qword [rsp + 0x68], rdx
jmp 0x18003b492
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 0x18003b59f
mov rax, qword [rsp + 0x210]
mov qword [rsp + 0x68], rax
mov r8, qword [rsp + 0x218]
test r8, r8
je 0x18003b7a7
mov rcx, r8
and rcx, 7
je 0x18003b720
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 0x18003b120
jmp 0x18003b732
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.180041af0
test rax, rax
je 0x18003ae7e
mov rcx, rax
call fcn.180054e20
cmp rdx, 5
jne 0x18003b1a0
movzx ecx, byte [rax]
lea edx, [rcx - 0x41]
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, cl
cmp dl, 0x63
jne 0x18003b1a0
movzx ecx, byte [rax + 1]
lea edx, [rcx - 0x41]
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, cl
cmp dl, 0x6c
jne 0x18003b1a0
movzx ecx, byte [rax + 2]
lea edx, [rcx - 0x41]
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, cl
cmp dl, 0x6f
jne 0x18003b1a0
movzx ecx, byte [rax + 3]
lea edx, [rcx - 0x41]
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, cl
cmp dl, 0x73
jne 0x18003b1a0
movzx eax, byte [rax + 4]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x65
jne 0x18003b1a0
mov dword [rsp + 0x50], 0
mov rsi, qword [rsp + 0xd0]
cmp rsi, 3
mov qword [rsp + 0x1d8], r12
jne 0x18003ae9e
jmp 0x18003bd13
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 0x18003af66
cvtsi2ss xmm1, rsi
divss xmm0, xmm1
ucomiss xmm0, xmm9
jae 0x18003af8b
mov eax, dword [0x18016cbc4]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0xa0], 0
jne 0x18003b2bc
call fcn.180027110
mov qword [rsp + 0xd0], 2
mov eax, dword [0x18016cbc4]
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 0x18003b35f
lea rcx, [rsi - 1]
movabs rax, 0x3fffffffffffffff
and rcx, rax
mov rax, rdi
cmp rcx, 7
jb 0x18003b349
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 0x18003b330
cmp rcx, rdx
je 0x18003b35f
lea rcx, [rdi + rsi*4]
nop dword [rax]
mov dword [rax], 0xffff
add rax, 4
cmp rax, rcx
jne 0x18003b350
test rbx, rbx
je 0x18003afda
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 0x18003b3a8
mov word [rdi + rcx*4], r13w
mov rdx, rcx
mov word [rdi + rdx*4 + 2], ax
cmp r14, qword [rsp + 0x30]
je 0x18003afda
mov r13, r12
mov rbx, rbp
mov rbp, r14
add r14, 0x60
inc r12
lea rdx, [rbp + 0x38]
lea rcx, [rsp + 0xd0]
call fcn.180037da0
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 0x18003b3e0
cmp word [rdi + rcx*4], 0xffff
je 0x18003b390
movzx r8d, word [rdi + rcx*4 + 2]
and r8d, r15d
mov r9d, ecx
sub r9d, r8d
and r9d, r15d
cmp r9, rdx
jb 0x18003b440
inc rdx
inc rcx
mov r8, rcx
jmp 0x18003b3e0
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 0x18003b440
movzx ecx, word [rdi + rdx*4]
cmp cx, 0xffff
jne 0x18003b417
mov word [rdi + rdx*4], r13w
mov word [rdi + rdx*4 + 2], ax
cmp r14, qword [rsp + 0x30]
jne 0x18003b3a8
jmp 0x18003afda
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.1800208f0
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 0x18003b7a7
movzx ecx, byte [rsp + 0x210]
mov qword [rsp + 0x68], rcx
xor r15, rcx
imul r15, rax
xor r10d, r10d
jmp 0x18003b7a7
mov word [rsp + 0x128], 7
movzx eax, byte [0x18016cbc0]
mov rax, qword [0x18016cb80]
test rax, rax
jne 0x18003b5ee
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18003d40f
mov qword [0x18016cb80], rax
mov r8d, 0x20
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18003d40f
mov rsi, rax
movups xmmword [rax], xmm7
movups xmmword [rax + 0x10], xmm7
cmp qword [rsp + 0xf0], 0
je 0x18003b634
mov r8, qword [rsp + 0xe8]
mov rcx, qword [0x18016cb80]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov qword [rsp + 0xe8], rsi
mov qword [rsp + 0xf0], 8
movzx eax, byte [0x18016cbc0]
mov rax, qword [0x18016cb80]
test rax, rax
jne 0x18003b671
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18003d420
mov qword [0x18016cb80], rax
mov r8d, 0x240
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18003d420
mov rsi, rax
mov rdi, qword [rsp + 0xf8]
mov r14, qword [rsp + 0x108]
test r14, r14
je 0x18003b6de
lea rbx, [rdi + 0x30]
jmp 0x18003b6c4
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 0x18003b6de
mov rax, qword [rbx + 8]
test rax, rax
je 0x18003b6a9
lea rcx, [rbx + 0x20]
mov rdx, qword [rbx + 0x10]
mov r8, qword [rbx + 0x18]
call qword [rax + 0x10]
jmp 0x18003b6a9
cmp qword [rsp + 0x100], 0
je 0x18003b6fb
mov rcx, qword [0x18016cb80]
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 0x18003afda
mov rdx, r15
mov rax, qword [rsp + 0x68]
movabs r9, 0x100000001b3
cmp r8, 8
jb 0x18003b7a4
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 0x18003b740
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 0x18003b826
mov rcx, qword [rsp + 0x68]
cmp byte [rax + 8], cl
je 0x18003b8e9
inc r13
inc rbp
mov rax, rbp
nop dword [rax]
mov rbp, rax
mov eax, 0
cmp rbp, r12
jae 0x18003b830
movzx r14d, word [rsi + rbp*4]
cmp r14, 0xffff
je 0x18003b9ba
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 0x18003ba21
cmp ax, r15w
jne 0x18003b820
cmp r9, r14
jbe 0x18003d27c
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 0x18003b820
lea rax, [r8 + rbx]
add rax, 0x38
test rcx, rcx
je 0x18003b812
mov rcx, qword [rsp + 0x30]
cmp qword [rax + 0x10], rcx
jne 0x18003b820
mov rcx, qword [rax + 8]
mov rdx, r11
mov r8, qword [rsp + 0x30]
call fcn.1800f9270
mov r11, qword [rsp + 0x228]
mov r8, qword [rsp + 0x150]
mov r9, qword [rsp + 0x60]
mov r10, qword [rsp + 0xc0]
test eax, eax
jne 0x18003b820
lea rdi, [r8 + rbx]
cmp qword [r8 + rbx], 0
je 0x18003c3ce
mov rbx, qword [rdi + 0x10]
mov rsi, qword [rsp + 0x120]
mov rcx, rsi
cmp rsi, qword [rsp + 0x118]
lea r13, [rsp + 0x80]
jne 0x18003b931
lea rcx, [rsp + 0x110]
mov rdx, rsi
call fcn.18003dd20
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 0x18003d27c
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 0x18003bd13
test r10, r10
je 0x18003ba9f
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 0x18003baa1
cmp r13, 0x200
setae r14b
cmp dword [rsp + 0x238], 2
setne dil
test r10, r10
je 0x18003bba9
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 0x18003bbac
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 0x18003d27c
mov rax, r9
cmp r9, qword [rsp + 0x100]
jne 0x18003bb18
lea rcx, [rsp + 0xf8]
mov rdx, r9
mov rdi, r11
call fcn.18003dde0
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 0x18003d27c
mov rax, qword [rsp + 0xe8]
mov word [rax + rbp*4], r9w
mov word [rax + rbp*4 + 2], r15w
jmp 0x18003bd13
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 0x18003d27c
mov rax, r9
cmp r9, qword [rsp + 0x100]
jne 0x18003bc23
lea rcx, [rsp + 0xf8]
mov rdx, r9
mov rsi, r11
call fcn.18003dde0
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 0x18003bca0
movzx edx, word [rsi + rcx*4]
cmp dx, 0xffff
je 0x18003bcd9
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 0x18003bca0
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.180038400
mov rcx, rsi
mov rdx, r13
call fcn.180037da0
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 0x18003bdf6
cmp byte [rax + 8], r11b
je 0x18003bebd
nop dword [rax + rax]
inc rbp
inc r15
mov rax, r15
nop dword [rax]
mov r15, rax
mov eax, 0
cmp r15, r12
jae 0x18003be00
movzx r13d, word [rbx + r15*4]
cmp r13, 0xffff
je 0x18003bfc0
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 0x18003c0ea
cmp ax, r8w
jne 0x18003bdf0
cmp rsi, r13
jbe 0x18003d27c
test r10, r10
sete al
imul rdi, r13, 0x68
mov rcx, qword [r9 + rdi + 0x40]
test rcx, rcx
setne dl
cmp dl, al
je 0x18003bdf0
lea rax, [r9 + rdi]
add rax, 0x40
test rcx, rcx
je 0x18003bde1
mov rcx, qword [rsp + 0x30]
cmp qword [rax + 0x10], rcx
jne 0x18003bdf0
mov rcx, qword [rax + 8]
mov rdx, qword [rsp + 0x150]
mov r8, qword [rsp + 0x30]
call fcn.1800f9270
movzx r11d, byte [rsp + 0x228]
mov r10, qword [rsp + 0xc0]
movzx r8d, word [rsp + 0x68]
mov r9, qword [rsp + 0x60]
test eax, eax
jne 0x18003bdf0
lea r14, [r9 + rdi]
cmp qword [r9 + rdi], 0
je 0x18003c2b8
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, [0x180137918]
jne 0x18003bf14
lea rcx, [rsp + 0x1a0]
mov rdx, rsi
call fcn.18006d1a0
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 0x18003d27c
lea rax, [rbx + rbx*8]
mov qword [rcx + rax*8 + 0x10], 1
mov qword [rcx + rax*8 + 0x18], rsi
mov qword [r14], 1
jmp 0x18003c38c
cmp rsi, 0x7fff
ja 0x18003d27c
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 0x18003c039
lea rcx, [rsp + 0x188]
mov rdx, rsi
call fcn.180020830
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 0x18003d27c
mov rax, qword [rsp + 0x178]
mov word [rax + r15*4], si
mov word [rax + r15*4 + 2], di
jmp 0x18003c291
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 0x18003d27c
mov rax, rsi
cmp rsi, qword [rsp + 0x190]
lea r13, [rsp + 0x80]
mov r14d, dword [rsp + 0xc8]
jne 0x18003c180
lea rcx, [rsp + 0x188]
mov rdx, rsi
call fcn.180020830
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 0x18003c220
movzx edx, word [rbx + rcx*4]
cmp dx, 0xffff
je 0x18003c258
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 0x18003c220
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, [0x180137918]
mov rsi, qword [rsp + 0x48]
cmp rsi, qword [rsp + 0x258]
jne 0x18003a816
jmp 0x18003c475
mov rsi, qword [rsp + 0x1b0]
mov rax, rsi
cmp rsi, qword [rsp + 0x1a8]
lea r15, [rsp + 0xb8]
mov rbp, qword [rsp + 0x1d0]
lea r12, [0x180137918]
jne 0x18003c2fc
lea rcx, [rsp + 0x1a0]
mov rdx, rsi
call fcn.18006d1a0
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 0x18003c2a5
mov rdx, qword [rsp + 0x88]
mov r8, qword [rsp + 0x90]
lea rcx, [rsp + 0x98]
call qword [rax + 0x10]
jmp 0x18003c2a5
mov rsi, qword [rsp + 0x120]
mov rax, rsi
cmp rsi, qword [rsp + 0x118]
lea r13, [rsp + 0x80]
jne 0x18003c403
lea rcx, [rsp + 0x110]
mov rdx, rsi
call fcn.18003dd20
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 0x18003bd13
mov r13, qword [rsp + 0xd0]
cmp r13, 3
mov qword [rsp + 0x48], r13
je 0x18003c6d1
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 [0x18016cbc0]
mov rax, qword [0x18016cb80]
test rax, rax
mov r14, qword [rsp + 0x40]
mov r12, qword [rsp + 0x1c8]
jne 0x18003c526
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18003d3c0
mov qword [0x18016cb80], rax
mov r8d, 0x20
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18003d3c0
mov rsi, rax
lea rax, [0x18013a940]
mov qword [rsi], rax
movdqu xmmword [rsi + 8], xmm6
mov qword [rsi + 0x18], 0
movzx eax, byte [0x18016cbc0]
mov rax, qword [0x18016cb80]
test rax, rax
jne 0x18003c583
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18003d3e2
mov qword [0x18016cb80], rax
mov r8d, 0x60
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18003d3e2
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.18003d6d0
mov qword [rsp + 0x20], rcx
mov rcx, rsi
movabs rdx, 0xe7c5a09728dbedf0
movabs r8, 0xafc99d9965eca8e3
mov r9, rax
call fcn.18003d4c0
test rax, rax
je 0x18003c962
mov rdi, rax
mov rbx, rdx
mov rcx, rax
call qword [rdx + 0x18]
movabs rcx, 0xafc99d9965eca8e3
xor rdx, rcx
movabs rcx, 0xe7c5a09728dbedf0
xor rax, rcx
or rax, rdx
jne 0x18003c939
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 [0x18016cb80]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
cmp qword [rsp + 0x300], 3
je 0x18003c962
lea rcx, [rsp + 0x300]
call fcn.18003d6d0
jmp 0x18003c962
cmp qword [rsp + 0x1e8], 0
mov r14, qword [rsp + 0x40]
mov r12, qword [rsp + 0x1c8]
je 0x18003c8d1
movups xmm0, xmmword [rsp + 0x1e8]
movups xmm1, xmmword [rsp + 0x1f8]
movaps xmmword [rsp + 0x310], xmm1
movaps xmmword [rsp + 0x300], xmm0
movzx eax, byte [0x18016cbc0]
mov rax, qword [0x18016cb80]
test rax, rax
jne 0x18003c736
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18003d3c0
mov qword [0x18016cb80], rax
mov r8d, 0x20
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18003d3c0
mov rsi, rax
lea rax, [0x18013a940]
mov qword [rsi], rax
movdqu xmmword [rsi + 8], xmm6
mov qword [rsi + 0x18], 0
mov r13b, 1
jmp 0x18003c994
lea eax, [rsi - 1]
mov word [rsp + 0x1b8], ax
lea rbx, [rsi*4]
movzx eax, byte [0x18016cbc0]
mov rax, qword [0x18016cb80]
test rax, rax
jne 0x18003c7ae
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18003d3f3
mov qword [0x18016cb80], rax
mov rcx, rax
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18003d3f3
mov rdi, rax
cmp rsi, 2
jb 0x18003c82f
mov ecx, 1
mov rax, rdi
cmp rsi, 9
jb 0x18003c819
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 0x18003c800
cmp rdx, r8
je 0x18003c82f
mov rdx, rsi
sub rdx, rcx
nop
mov dword [rax], 0xffff
add rax, 4
dec rdx
jne 0x18003c820
mov dword [rax], 0xffff
test r14, r14
je 0x18003c851
mov r8, qword [rsp + 0x178]
mov rcx, qword [0x18016cb80]
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 0x18003d27c
imul rsi, r14, 0x68
mov bl, al
shl rbx, 3
test rsi, rsi
je 0x18003c8e0
movzx eax, byte [0x18016cbc0]
mov rax, qword [0x18016cb80]
test rax, rax
jne 0x18003c8be
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18003d402
mov qword [0x18016cb80], rax
mov rcx, rax
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapAlloc]
mov rdi, rax
jmp 0x18003c8e3
mov r13b, 1
xor ebx, ebx
xor esi, esi
mov dil, 1
jmp 0x18003cadf
mov rdi, rbx
test rdi, rdi
je 0x18003d402
cmp qword [rsp + 0x190], 0
je 0x18003c90e
mov r8, qword [rsp + 0x188]
mov rcx, qword [0x18016cb80]
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 0x18003a7df
jmp 0x18003d27c
mov rcx, rdi
call qword [rbx]
cmp qword [rbx + 8], 0
je 0x18003c962
cmp qword [rbx + 0x10], 0x11
jb 0x18003c950
mov rdi, qword [rdi - 8]
mov rcx, qword [0x18016cb80]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
cmp qword [rsp + 0x1e8], 0
je 0x18003cad7
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 [0x18016cbc0]
mov rax, qword [0x18016cb80]
test rax, rax
jne 0x18003c9bd
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18003d3c0
mov qword [0x18016cb80], rax
mov r8d, 0x20
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18003d3c0
movdqa xmm0, xmmword [rsp + 0x300]
movapd xmm1, xmmword [rsp + 0x310]
movupd xmmword [rax + 0x10], xmm1
movdqu xmmword [rax], xmm0
lea rcx, [0x180126728]
mov qword [rsp + 0x20], rcx
mov rcx, rsi
movabs rdx, 0x7a60d917d51b3d46
movabs r8, 0xf3ea6f0af9cbcfd7
mov r9, rax
call fcn.18003d4c0
test rax, rax
je 0x18003cad1
mov rdi, rax
mov rbx, rdx
mov rcx, rax
call qword [rdx + 0x18]
movabs rcx, 0xf3ea6f0af9cbcfd7
xor rdx, rcx
movabs rcx, 0x7a60d917d51b3d46
xor rax, rcx
or rax, rdx
jne 0x18003caa8
movdqu xmm0, xmmword [rdi]
movupd xmm1, xmmword [rdi + 0x10]
movapd xmmword [rsp + 0x90], xmm1
movdqa xmmword [rsp + 0x80], xmm0
mov rcx, qword [0x18016cb80]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x18003cad1
mov rdx, qword [rsp + 0x88]
mov r8, qword [rsp + 0x90]
lea rcx, [rsp + 0x98]
call qword [rax + 0x10]
jmp 0x18003cad1
mov rcx, rdi
call qword [rbx]
cmp qword [rbx + 8], 0
je 0x18003cad1
cmp qword [rbx + 0x10], 0x11
jb 0x18003cabf
mov rdi, qword [rdi - 8]
mov rcx, qword [0x18016cb80]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
mov bl, 1
xor edi, edi
jmp 0x18003cadf
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 0x18003cb74
je 0x18003cba2
jmp 0x18003cb93
cmp eax, 0x65
je 0x18003d1e1
cmp eax, 0xcc
je 0x18003d1e7
cmp eax, 0x130
je 0x18003d1e7
lea eax, [r12 - 0x66]
cmp ax, 0x62
jae 0x18003d1b2
mov r12, qword [rbp + 8]
test r12, r12
je 0x18003d18b
lea rcx, [rsp + 0x300]
call fcn.180053da0
mov rcx, rsi
call fcn.18003d880
cmp dword [rsp + 0x48], 3
jne 0x18003cbe5
mov rax, qword [rsp + 0xd0]
cmp eax, 3
je 0x18003cbe5
lea rcx, [rsp + 0xd0]
call fcn.18003d6d0
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 0x18003cc22
lea r11, [rsp + 0x200]
jmp 0x1800395c7
mov rdx, qword [rsp + 0x1f0]
mov r8, qword [rsp + 0x1f8]
lea rcx, [rsp + 0x200]
call qword [rax + 0x10]
lea r11, [rsp + 0x200]
jmp 0x1800395c7
mov r9d, 4
jmp 0x18003cc55
xor r9d, r9d
sub rbx, r9
je 0x18003d009
add rax, r9
xor r9d, r9d
xor r8d, r8d
jmp 0x18003cc8c
inc r13
test r10b, r10b
movzx r9d, r9b
mov r10d, 1
cmovs r9d, r10d
mov r8, r13
cmp rbx, r13
mov r11, rsi
je 0x18003d009
mov rsi, r11
mov r13, r8
movzx r10d, byte [rax + r8]
mov r11d, r10d
add r11d, 0xfffffff7
cmp r11d, 0x17
ja case.0x18003ccbb.11
mov r13, r15
lea r15, [0x18003d444]
movsxd r11, dword [r15 + r11*4]
add r11, r15
mov r15, r13
mov r13, r8
jmp r11
test r10b, r10b
js case.0x18003ccbb.9
lea r11d, [r10 - 0x7f]
cmp r11b, 0xa2
jae case.0x18003ccbb.9
jmp case.0x18003d292.3
mov r10, r13
not r10
add rbx, r10
test r9b, 1
mov r10, rax
lea r9, [0x18015db18]
cmovne r10, r9
lea rax, [rax + r13 + 1]
mov r9d, 0
cmovne r13, r9
mov qword [rsp + 0x68], r13
mov r11, rsi
jmp 0x18003cd4f
lea r10, [r13 + 1]
cmp rbx, r10
jbe 0x18003d009
cmp byte [rax + r8 + 1], 0xa
jne case.0x18003d292.3
mov r11, rsi
sub rbx, r8
add rbx, 0xfffffffffffffffe
test r9b, 1
mov r10, rax
lea r9, [0x18015db18]
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 0x1800398e4
jmp 0x18003d009
add rsi, qword [rsp + 0x60]
jmp 0x18003cd8f
cmp rcx, rsi
jbe 0x18003d009
mov rax, qword [rsp + 0x48]
cmp byte [rax + rsi], 0xa
jne 0x18003ce8d
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 0x18003d3a7
call fcn.180031bd0
test rax, rax
mov r15, qword [rsp + 0x68]
je 0x18003cde8
cmp r15, rdx
jne 0x18003cde8
mov rcx, qword [rsp + 0xc0]
mov rdx, rax
mov r8, r15
call fcn.1800f9270
test eax, eax
je 0x18003cf01
test r15, r15
je 0x18003cea1
js 0x18003d27c
movzx eax, byte [0x18016cbc0]
mov rax, qword [0x18016cb80]
test rax, rax
jne 0x18003ce20
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x18003d431
mov qword [0x18016cb80], rax
mov rcx, rax
xor edx, edx
mov r8, qword [rsp + 0x68]
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x18003d431
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.1800f8be0
mov rcx, qword [rsp + 0x30]
test cl, 1
jne 0x18003cedd
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, [0x180125618]
jmp 0x18003cf06
mov rax, qword [rsp + 0x70]
and rax, 0xffffffffffffff00
or rax, 2
jmp 0x18003a35b
lea rax, [0x18015db18]
mov qword [rsp + 0xd8], rax
lea rax, [rsp + 0xd8]
movdqu xmmword [rax + 8], xmm6
xor r15d, r15d
lea rax, [0x180137730]
jmp 0x18003cf06
mov rax, qword [rsp + 0x70]
and rax, 0xffffffffffffff00
or rax, 1
jmp 0x18003a35b
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xe0], r15
mov qword [rsp + 0xe8], rcx
xor r15d, r15d
lea rax, [0x180125630]
jmp 0x18003cf06
mov r15b, 1
xor eax, eax
mov qword [rsp + 0xd0], rax
cmp r13, 0x64
mov edx, 0x64
cmovb rdx, r13
test rdx, rdx
je 0x18003cfa6
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 0x18003d362
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 0x18003cf38
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 0x18003a39c
mov eax, 5
jmp 0x18003a35b
mov rax, qword [rsp + 0x70]
and rax, 0xffffffffffffff00
or rax, 1
mov r14, rdx
jmp 0x18003a35b
mov qword [r14], 3
jmp 0x18003d12a
xor eax, eax
mov byte [r14 + 8], al
mov qword [r14], 4
jmp 0x18003d12a
mov rsi, qword [rsp + 0x98]
test sil, 1
jne 0x18003d063
lock dec qword [rsi + 0x20]
lea r15, [rsp + 0xb8]
jne 0x18003d096
mov rax, qword [rsi + 0x20]
cmp qword [rsi + 8], 0
je 0x18003d084
mov r8, qword [rsi]
mov rcx, qword [0x18016cb80]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x18003d084
shr rsi, 5
neg rsi
cmp qword [rsp + 0x90], rsi
lea r15, [rsp + 0xb8]
je 0x18003d096
add rsi, qword [rsp + 0x80]
mov rcx, qword [0x18016cb80]
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 0x18003d0cd
mov rax, qword [rsp + 0xd0]
cmp eax, 3
je 0x18003d0cd
lea rcx, [rsp + 0xd0]
call fcn.18003d6d0
test sil, sil
jne 0x18003d0df
lea rcx, [rsp + 0x160]
call fcn.180053da0
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 0x18003d12a
mov rax, qword [rsp + 0x1e8]
test rax, rax
je 0x18003d12a
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.0x18003d292.0
mov eax, 3
mov qword [r14], rax
lea rcx, [rsp + 0x300]
call fcn.180053da0
mov rcx, qword [rsp + 0x360]
call fcn.18003d880
jmp 0x18003d26b
mov rax, qword [rsp + 0x230]
mov rax, qword [rax + 8]
movzx eax, byte [rax]
cmp eax, 5
je 0x18003d1e7
cmp eax, 7
jne 0x18003d29b
add r12d, 0xffffff38
cmp r12w, 0x64
jae 0x18003d29b
mov al, 1
xor edx, edx
jmp 0x18003d1eb
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 0x18003d0b3
jmp 0x18003d0cd
ud2
xor eax, eax
mov ecx, ecx
lea rdx, [0x18003d4a4]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
mov al, 0xa
jmp case.0x18003d292.0
movups xmm0, xmmword [0x1801271c0]
movaps xmmword [rsp + 0x90], xmm0
movdqu xmm0, xmmword [0x1801271b0]
movdqa xmmword [rsp + 0x80], xmm0
lea rcx, [rsp + 0x300]
lea rdx, [rsp + 0x80]
call fcn.180025de0
test al, al
je 0x18003d2f8
mov cl, 2
cmp byte [rsp + 0x158], 1
je 0x18003d354
lea rcx, [rsp + 0x300]
call fcn.18003d7c0
movzx edx, al
not rdx
jmp 0x18003d1e9
lea rcx, [rsp + 0x300]
call fcn.180037930
cmp rax, 1
jne 0x18003d319
mov cl, 9
cmp rdx, 0xfffffffffffffffe
jb 0x18003d1e9
jmp 0x18003d354
movups xmm0, xmmword [0x180138c18]
movaps xmmword [rsp + 0x90], xmm0
movdqu xmm0, xmmword [0x180138c08]
movdqa xmmword [rsp + 0x80], xmm0
lea rcx, [rsp + 0x300]
lea rdx, [rsp + 0x80]
call fcn.180025de0
mov cl, 1
test al, al
je 0x18003d39b
mov byte [r14 + 8], cl
mov eax, 4
jmp 0x18003d190
mov byte [r14 + 8], 9
mov qword [r14], 4
test r15b, r15b
jne 0x18003d12a
mov rdx, qword [rsp + 0xd8]
mov r8, qword [rsp + 0xe0]
lea rcx, [rsp + 0xe8]
jmp 0x18003d127
mov al, 9
jmp case.0x18003d292.0
mov rdx, 0xffffffffffffffff
jmp 0x18003d1e9
mov byte [r14 + 8], 0xa
jmp 0x18003d01b
mov ecx, 1
mov rdx, rsi
call fcn.180106200
ud2
mov ecx, 8
mov edx, 0x20
call fcn.180106200
ud2
mov ecx, 8
mov edx, 0x18
call fcn.180106200
ud2
mov ecx, 8
mov edx, 0x60
call fcn.180106200
ud2
mov ecx, 2
mov rdx, rbx
call fcn.180106200
ud2
mov rcx, rbx
mov rdx, rsi
call fcn.180106200
ud2
mov ecx, 2
mov edx, 0x20
call fcn.180106200
ud2
mov ecx, 8
mov edx, 0x240
call fcn.180106200
ud2
mov ecx, 1
mov rdx, qword [rsp + 0x68]
call fcn.180106200
ud2