Function at 0x180051280
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.1801572e0
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 [0x180172720]
movdqa xmm8, xmmword [0x1801727b0]
movss xmm9, dword [0x180172730]
movdqa xmm10, xmmword [str.uespemosarenegylmodnarodsetybdet]
movdqa xmm11, xmmword [0x180172710]
movdqa xmm12, xmmword [0x180172c80]
movdqa xmm13, xmmword [0x180172c90]
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 0x180054dd9
mov rdi, qword [rbp]
xor edx, edx
jmp 0x1800513bc
inc rdx
cmp rdx, r12
jae 0x180054dd9
movzx r8d, byte [rdi + rdx]
cmp r8d, 0xa
je 0x1800513b0
cmp r8d, 0xd
jne 0x180051400
lea rax, [rdx + 1]
cmp rax, r12
jae 0x180054dd9
cmp byte [rdi + rdx + 1], 0xa
jne 0x180054de5
add rdx, 2
cmp rdx, r12
jb 0x1800513bc
jmp 0x180054dd9
lea rax, [rdi + rdx]
mov rcx, r12
sub rcx, rdx
cmp rcx, 8
jae 0x1800514b2
cmp r12, rdx
je 0x180054dd9
cmp r8b, 0x48
jne case.default.0x180055062
cmp rcx, 2
jb 0x180054dd9
cmp byte [rax + 1], 0x54
jne case.default.0x180055062
cmp rcx, 3
jb 0x180054dd9
cmp byte [rax + 2], 0x54
jne case.default.0x180055062
cmp rcx, 4
jb 0x180054dd9
cmp byte [rax + 3], 0x50
jne case.default.0x180055062
cmp rcx, 5
jb 0x180054dd9
cmp byte [rax + 4], 0x2f
jne case.default.0x180055062
cmp rcx, 6
jb 0x180054dd9
cmp byte [rax + 5], 0x31
jne case.default.0x180055062
cmp rcx, 7
jb 0x180054dd9
cmp byte [rax + 6], 0x2e
mov ecx, 6
mov eax, 0
cmove rcx, rax
jne 0x180052133
jmp 0x180054dd9
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.0x180055062
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.0x180055062
test r8b, 1
je case.default.0x180055062
shr rdx, 0x30
cmp dl, 0x2e
jne case.default.0x180055062
pextrw edx, xmm0, 3
shr edx, 8
cmp dl, 0x30
je 0x180051579
cmp edx, 0x31
jne case.default.0x180055062
mov dl, 2
jmp 0x18005157b
mov dl, 1
mov qword [rsp + 0x158], rdx
cmp rcx, 9
jb 0x180054dd9
cmp byte [rax + 8], 0x20
jne case.default.0x180055062
add rax, 9
lea rbx, [rcx - 9]
cmp byte [rsp + 0x5f], 0
je 0x1800515cb
cmp rcx, 9
je 0x180054dd9
test rax, rax
je 0x180054dd9
cmp byte [rax], 0x20
jne 0x1800515cb
inc rax
dec rbx
jne 0x1800515b9
jmp 0x180054dd9
test rbx, rbx
je 0x180054dd9
movzx ecx, byte [rax]
add cl, 0xd0
cmp cl, 9
ja case.0x180055062.3
cmp rbx, 2
jb 0x180054dd9
movzx edx, byte [rax + 1]
add dl, 0xd0
cmp dl, 9
ja case.0x180055062.3
cmp rbx, 3
jb 0x180054dd9
movzx r8d, byte [rax + 2]
add r8b, 0xd0
mov byte [rsp + 0x48], r8b
cmp r8b, 0xa
jae case.0x180055062.3
cmp rbx, 4
jb 0x180054dd9
movzx r9d, byte [rax + 3]
cmp r9d, 0xa
je 0x180051677
cmp r9d, 0xd
je 0x180051681
cmp r9d, 0x20
jne case.0x180055062.3
cmp byte [rsp + 0x5f], 0
je 0x180054a1a
cmp rbx, 5
jb 0x180054dd9
add rbx, 0xfffffffffffffffc
add rax, 4
cmp byte [rax], 0x20
jne 0x180054a22
inc rax
dec rbx
jne 0x180051661
jmp 0x180054dd9
add rax, 4
add rbx, 0xfffffffffffffffc
jmp 0x18005169d
cmp rbx, 4
jbe 0x180054dd9
cmp byte [rax + 4], 0xa
jne case.0x180055062.3
add rax, 5
add rbx, 0xfffffffffffffffb
xor r8d, r8d
mov qword [rsp + 0x68], r8
lea r9, str.description___is_deprecated__use_Display
mov qword [rsp + 0xc0], r9
test rbx, rbx
je 0x180054dd9
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 0x1800517ae
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax]
mov esi, 1
cmp eax, 0xa
je 0x180054b35
cmp eax, 0xd
je 0x180054b3c
lea rdx, [0x1801bcf28]
cmp byte [rax + rdx], 0
jne 0x1800517de
test al, al
je 0x180052120
movzx eax, al
cmp eax, 0xa
je 0x180051796
cmp eax, 0xd
je 0x18005177b
cmp rcx, rsi
jbe 0x180054dd9
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + rsi]
inc rsi
test al, al
jne 0x180051750
jmp 0x180052120
cmp rcx, rsi
jbe 0x180054dd9
mov rax, qword [rsp + 0x48]
cmp byte [rax + rsi], 0xa
jne 0x180052120
inc rsi
add qword [rsp + 0x60], rsi
add qword [rsp + 0x48], rsi
sub rcx, rsi
jne 0x180051718
jmp 0x180054dd9
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax]
mov esi, 1
cmp eax, 0xa
je 0x180054b35
cmp eax, 0xd
je 0x180054b3c
lea rdx, [0x1801bcf28]
cmp byte [rax + rdx], 0
je 0x180052120
mov r9, rcx
sub r9, rsi
mov rax, qword [rsp + 0x48]
lea rdx, [rax + rsi]
inc rdx
cmp rcx, rsi
jbe 0x180054dd9
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, [0x1801bcf28]
cmp byte [r8 + r15], 0
lea r15, [rsp + 0xb8]
jne 0x1800517f0
mov rdx, rcx
sub rdx, rsi
mov qword [rsp + 0x40], rdx
cmp r8b, 0x3a
jne 0x180051864
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 0x18005190e
jmp 0x180054dd9
cmp byte [rsp + 0x7e], 0
je 0x180051e5a
mov rdx, qword [rsp + 0x48]
add rdx, rsi
mov qword [rsp + 0x30], rdx
sub r10, rcx
xor edx, edx
cmp r8b, 0x20
je 0x1800518a9
mov r15, rbp
mov rbp, r11
movzx r11d, r8b
cmp r11d, 9
mov r11, rbp
mov rbp, r15
lea r15, [rsp + 0xb8]
jne 0x180051e5c
lea r8, [r10 + rdx]
inc r8
test r8, r8
je 0x180054dd9
mov r8, qword [rsp + 0x30]
movzx r8d, byte [r8 + rdx]
inc rdx
cmp r8b, 0x3a
jne 0x180051881
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 0x18005190e
jmp 0x180054dd9
add qword [rsp + 0x60], rcx
add qword [rsp + 0x30], rcx
sub r10, rcx
mov qword [rsp + 0x40], r10
je 0x180054dd9
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax]
cmp byte [rsp + 0x3f], 0
je 0x1800519aa
xor r9d, r9d
mov r10, qword [rsp + 0x40]
lea rcx, [r9 + 1]
cmp al, 0x20
je 0x1800518f6
movzx edx, al
cmp edx, 9
je 0x1800518f6
lea r8, [0x1801ac8c9]
cmp byte [rdx + r8], 0
jne 0x1800519de
cmp al, 0xa
je 0x180051980
cmp edx, 0xd
mov rdx, rcx
jne 0x180051f56
cmp r10, rdx
jbe 0x180054dd9
mov rax, qword [rsp + 0x30]
cmp byte [rax + r9 + 1], 0xa
mov r10, qword [rsp + 0x40]
jne 0x180054c99
add r9, 2
jmp 0x180051983
mov r9, rcx
cmp r9, r10
jae 0x180054dd9
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + r9]
cmp eax, 9
mov r10, qword [rsp + 0x40]
je 0x180051929
cmp eax, 0x20
je 0x180051929
jmp 0x1800520cd
movzx r9d, al
mov ecx, 1
cmp r9d, 9
mov r10, qword [rsp + 0x40]
je 0x1800518f6
cmp r9d, 0x20
je 0x1800518f6
lea rdx, [0x1801ac8c9]
cmp byte [r9 + rdx], 0
je 0x180051f3d
mov r8, rcx
mov rax, qword [0x1801fb920]
test rax, rax
mov qword [rsp + 0x40], r10
jne 0x180051a8a
mov rcx, qword [0x1801fb9e8]
test rcx, rcx
je 0x180051a32
mov rax, qword [0x1801fb9e8]
test cx, cx
js 0x180051a69
test rax, rax
je 0x180051e00
and eax, 0x800
cmp rax, 1
mov ecx, 0
sbb rcx, rcx
or rcx, 1
shr rax, 0xb
jmp 0x180051a83
mov r15, rbp
mov rbp, r11
mov qword [rsp + 0x50], r8
call fcn.18016d710
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 [0x1801fb9e8]
test cx, cx
jns 0x180051a0e
test rax, rax
je 0x180051e2d
xor ecx, ecx
test eax, 0x800
sete cl
xor rcx, 3
mov rax, rcx
mov qword [0x1801fb920], rcx
cmp rax, 1
je 0x180051af9
cmp rax, 2
je 0x180051b4e
cmp rax, 3
jne 0x180051bef
mov rax, r10
sub rax, r8
jb 0x18005504c
cmp rax, 0x1f
jbe 0x180051ba0
mov rax, qword [rsp + 0x30]
lea rcx, [rax + r8]
mov r15, rbp
mov rbp, r11
mov qword [rsp + 0x50], r8
call fcn.18004c450
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 0x180051aa4
jmp 0x180051bef
mov rax, r10
sub rax, r8
jb 0x18005504c
cmp rax, 0x10
jb 0x180051bef
mov rax, qword [rsp + 0x30]
lea rcx, [rax + r8]
mov r15, rbp
mov rbp, r11
mov qword [rsp + 0x50], r8
call fcn.18004c400
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 0x180051af9
jmp 0x180051bef
mov rax, r10
sub rax, r8
jb 0x18005504c
cmp rax, 0x20
jb 0x180051bef
mov rax, qword [rsp + 0x30]
lea rcx, [rax + r8]
mov r15, rbp
mov rbp, r11
mov qword [rsp + 0x50], r8
call fcn.18004c450
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 0x180051b4e
jmp 0x180051bef
mov rax, r10
sub rax, r8
jb 0x18005504c
cmp rax, 0x10
jb 0x180051be2
mov rax, qword [rsp + 0x30]
lea rcx, [rax + r8]
mov qword [rsp + 0x50], r8
call fcn.18004c400
mov r8, qword [rsp + 0x50]
add r8, rax
cmp rax, 0x10
lea r11, [rsp + 0x200]
mov r10, qword [rsp + 0x40]
je 0x180051ba0
jmp 0x180051bef
lea r11, [rsp + 0x200]
mov r10, qword [rsp + 0x40]
mov rdx, r8
cmp rdx, 0xfffffffffffffff7
ja 0x180051c09
lea rcx, [rdx + 8]
cmp rcx, r10
ja 0x180051c09
mov r8, rdx
jmp 0x180051c8d
cmp r10, rdx
jbe 0x180054dd9
mov r9, r10
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + rdx]
lea r8, [rdx + 1]
lea rcx, [0x1801ac8c9]
cmp byte [rax + rcx], 0
je 0x180051d32
cmp rdx, 0xfffffffffffffff6
mov r10, r9
ja 0x180051c45
lea rcx, [rdx + 9]
cmp rcx, r10
jbe 0x180051c8d
add rdx, 9
mov rcx, rdx
lea rdx, [rcx - 8]
cmp r10, rdx
jbe 0x180054dd9
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + rcx - 8]
lea r8, [0x1801ac8c9]
cmp byte [rax + r8], 0
je 0x180051d2b
inc rcx
cmp rdx, 0xfffffffffffffff6
mov r10, r9
ja 0x180051c4c
cmp rcx, r10
ja 0x180051c4c
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, [0x1801ac8c9]
cmp byte [rax + r9], 0
je 0x180051d37
movd edx, xmm0
mov eax, edx
shr eax, 8
movzx r8d, al
cmp byte [r8 + r9], 0
je 0x180051d41
mov eax, edx
shr eax, 0x10
movzx r8d, al
cmp byte [r8 + r9], 0
je 0x180051d4c
shr edx, 0x18
cmp byte [rdx + r9], 0
je 0x180051d57
pextrw eax, xmm0, 2
movzx edx, al
cmp byte [rdx + r9], 0
je 0x180051d64
shr eax, 8
cmp byte [rax + r9], 0
je 0x180051d6f
mov r8, r9
pextrw eax, xmm0, 3
movzx edx, al
cmp byte [rdx + r9], 0
je 0x180051d7a
shr eax, 8
cmp byte [rax + r8], 0
mov rdx, rcx
jne 0x180051bf2
mov r8, rcx
jmp 0x180051d83
add rcx, 0xfffffffffffffff9
mov r8, rcx
mov r10, r9
jmp 0x180051d83
mov r8, qword [rsp + 0x50]
inc r8
jmp 0x180051d83
mov r8, qword [rsp + 0x50]
add r8, 2
jmp 0x180051d83
mov r8, qword [rsp + 0x50]
add r8, 3
jmp 0x180051d83
mov r8, qword [rsp + 0x50]
add r8, 4
mov eax, edx
jmp 0x180051d83
mov r8, qword [rsp + 0x50]
add r8, 5
jmp 0x180051d83
mov r8, qword [rsp + 0x50]
add r8, 6
jmp 0x180051d83
mov r8, qword [rsp + 0x50]
add r8, 7
mov rcx, 0xffffffffffffffff
cmp al, 0xa
je 0x180051dc5
movzx ecx, al
cmp ecx, 0xd
jne 0x180051ef0
cmp r10, r8
jbe 0x180054dd9
mov rdx, r8
mov rcx, qword [rsp + 0x30]
cmp byte [rcx + rdx], 0xa
jne 0x180054c99
mov rax, r10
mov r8, rdx
inc r8
mov rcx, 0xfffffffffffffffe
cmp byte [rsp + 0x3f], 0
je 0x18005201b
cmp r10, r8
jbe 0x180054dd9
mov rdx, r10
mov r9, r8
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + r9]
cmp eax, 9
je 0x1800519e1
cmp eax, 0x20
je 0x1800519e1
jmp 0x18005201b
mov r15, rbp
mov rbp, r11
mov qword [rsp + 0x50], r8
call fcn.18016d710
mov r8, qword [rsp + 0x50]
mov r10, qword [rsp + 0x40]
mov r11, rbp
mov rbp, r15
lea r15, [rsp + 0xb8]
jmp 0x180051a17
mov r15, rbp
mov rbp, r11
mov qword [rsp + 0x50], r8
call fcn.18016d710
mov r8, qword [rsp + 0x50]
mov r10, qword [rsp + 0x40]
mov r11, rbp
mov rbp, r15
lea r15, [rsp + 0xb8]
jmp 0x180051a72
xor edx, edx
cmp byte [rsp + 0x2f], 0
mov r9, qword [rsp + 0x40]
je 0x180052120
add rax, rdx
test r8b, r8b
je 0x180052120
movzx r8d, r8b
cmp r8d, 0xa
je 0x180051ebf
cmp r8d, 0xd
je 0x180051eaa
cmp r9, rdx
jbe 0x180054dd9
movzx r8d, byte [rax]
inc rdx
inc rax
mov r9, qword [rsp + 0x40]
test r8b, r8b
jne 0x180051e78
jmp 0x180052120
cmp r9, rdx
jbe 0x180054dd9
cmp byte [rax], 0xa
jne 0x180052120
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 0x18005170d
jmp 0x180054dd9
mov rdx, r14
cmp byte [rsp + 0x2f], 0
je 0x180054dc2
test al, al
je 0x180054dc2
movzx eax, al
cmp eax, 0xa
je 0x180052016
cmp eax, 0xd
je 0x180051ff7
cmp r10, r8
mov r14, rdx
jbe 0x180054dd9
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + r8]
inc r8
test al, al
jne 0x180051f06
jmp 0x180054dc2
cmp r9d, 0xa
je 0x18005209a
mov edx, 1
cmp r9d, 0xd
je 0x1800520a7
cmp byte [rsp + 0x2f], 0
je 0x180054c99
test al, al
mov rcx, qword [rsp + 0x40]
je 0x180054c99
movzx eax, al
cmp eax, 0xa
je 0x180051fa2
cmp eax, 0xd
je 0x180051faa
cmp rcx, rdx
jbe 0x180054dd9
mov r8, rdx
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + r8]
inc rdx
test al, al
mov rcx, qword [rsp + 0x40]
jne 0x180051f6e
jmp 0x180054c99
mov r8, rdx
mov rdx, r14
jmp 0x180051fcc
cmp rcx, rdx
jbe 0x180054dd9
mov r8, rdx
mov rdx, r14
mov rax, qword [rsp + 0x30]
cmp byte [rax + r8], 0xa
jne 0x180054dc2
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 0x18005170d
jmp 0x180054dd9
cmp r10, r8
mov r14, rdx
jbe 0x180054dd9
mov rax, qword [rsp + 0x30]
cmp byte [rax + r8], 0xa
jne 0x180054dc2
inc r8
mov rcx, r10
jmp 0x180051fd1
cmp r13, 0x64
je 0x180054db8
mov rdx, r8
mov rax, r8
lea r8, [rdx + rcx]
sub r10, rdx
mov qword [rsp + 0x40], r8
test r8, r8
je 0x18005207d
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 0x180052082
bt r9, r8
jae 0x180052082
inc rcx
dec rax
mov r8, rdx
cmp rdx, rcx
jne 0x180052057
mov rdx, qword [rsp + 0x40]
jmp 0x1800520df
mov r8, rdx
jmp 0x1800520dd
mov r8, rdx
mov rax, rdx
sub rax, rcx
cmp rax, qword [rsp + 0x40]
mov rdx, rax
jbe 0x1800520df
jmp 0x18005504c
mov r9d, 1
mov r10, qword [rsp + 0x40]
jmp 0x1800520cd
cmp qword [rsp + 0x40], 2
jb 0x180054dd9
mov r9d, 2
mov rax, qword [rsp + 0x30]
cmp byte [rax + 1], 0xa
mov r10, qword [rsp + 0x40]
jne 0x180054c99
cmp r13, 0x64
je 0x180054db8
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 0x1800516ec
jmp 0x180054dd9
mov rax, qword [rsp + 0x70]
and rax, 0xffffffffffffff00
mov qword [rsp + 0x70], rax
movzx ecx, al
cmp cl, 6
jne 0x180055050
mov rax, qword [rsp + 0x230]
cmp byte [rax + 0x16], 0
je 0x180054f54
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.180021f90
cmp byte [rsp + 0x3f], 0
je 0x1800522c2
cmp r13, 0x65
jae 0x18005504c
test r13, r13
je 0x1800522c2
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 0x1800521f9
cmp r8, rax
je 0x1800522c2
mov r11, qword [r8 + 0x10]
mov r9, qword [r8 + 0x18]
cmp r9, r11
jb 0x18005504c
cmp r9, rdx
ja 0x18005504c
add r8, 0x20
cmp r9, r11
je 0x1800521f0
lea r10, [rcx + r11]
mov esi, r9d
sub esi, r11d
not r11
add r11, r9
and rsi, 3
jne 0x18005224c
cmp r11, 3
jb 0x1800521f0
add r9, rcx
jmp 0x18005226d
mov byte [r10], 0x20
inc r10
dec rsi
je 0x180052232
movzx edi, byte [r10]
cmp edi, 0xd
je 0x180052240
cmp edi, 0xa
je 0x180052240
jmp 0x180052244
mov byte [r10 + 3], 0x20
mov r10, r11
cmp r11, r9
je 0x1800521f0
movzx r11d, byte [r10]
cmp r11d, 0xd
je 0x18005227d
cmp r11d, 0xa
jne 0x180052281
mov byte [r10], 0x20
movzx r11d, byte [r10 + 1]
cmp r11d, 0xd
je 0x180052292
cmp r11d, 0xa
jne 0x180052297
mov byte [r10 + 1], 0x20
movzx r11d, byte [r10 + 2]
cmp r11d, 0xd
je 0x1800522a8
cmp r11d, 0xa
jne 0x1800522ad
mov byte [r10 + 2], 0x20
lea r11, [r10 + 4]
movzx esi, byte [r10 + 3]
cmp esi, 0xd
je 0x180052260
cmp esi, 0xa
je 0x180052260
jmp 0x180052265
mov rdi, qword [rsp + 0x270]
mov rax, qword [rsp + 0x278]
mov rsi, qword [rsp + 0x288]
test sil, 1
jne 0x180052313
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], rsi
lea rax, [0x1801c2358]
mov qword [rsp + 0xa0], rax
lea r12, [0x1801bef48]
jmp 0x180052402
mov r12, r14
mov r14, qword [rsp + 0x280]
shr rsi, 5
sub rdi, rsi
lea rbx, [rsi + rax]
cmp rax, r14
jne 0x180052350
test rbx, rbx
je 0x1800523b1
test dil, 1
mov r14, r12
mov rax, rdi
jne 0x1800523c8
or rax, 1
lea rcx, [0x1801abf68]
jmp 0x1800523cf
movzx eax, byte [0x1801fba30]
mov rax, qword [0x1801fb9b8]
test rax, rax
jne 0x180052379
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800551a1
mov qword [0x1801fb9b8], rax
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800551a1
add r14, rsi
mov qword [rax], rdi
mov qword [rax + 8], r14
mov qword [rax + 0x10], 1
lea rcx, [0x180174218]
mov r14, r12
jmp 0x1800523cf
xor eax, eax
lea rdi, str.description___is_deprecated__use_Display
xor ebx, ebx
lea rcx, [0x1801bed48]
mov r14, r12
jmp 0x1800523cf
lea rcx, [0x1801abf80]
lea r12, [0x1801bef48]
sub rbx, rsi
jb 0x18005504c
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 0x18005246d
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 0x1800524b1
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 0x18005251f
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 0x180052524
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 0x18005504c
mov r14, qword [rsp + 0x180]
cmp rdx, r14
jbe 0x1800525a5
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 0x18005504c
test rsi, rsi
je 0x18005504c
test rax, rax
je 0x180054542
lea rcx, [rsp + 0x160]
mov rdx, rsi
call fcn.18006e4f0
cmp r13, 0x65
jae 0x18005504c
test r13, r13
je 0x180054245
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 0x18005504c
mov qword [rsp + 0x48], rsi
cmp r14, qword [rsp + 0xb0]
ja 0x18005504c
mov rsi, r14
sub rsi, rdi
je 0x180054e66
mov rbx, qword [rsp + 0xa8]
cmp rsi, 0x40
ja 0x180052647
mov rax, rdi
not rax
add r14, rax
mov eax, esi
and eax, 3
cmp r14, 3
jae 0x1800526b1
xor r9d, r9d
lea r14, [rsp + 0x300]
jmp 0x180052727
cmp rsi, 0x10000
jae 0x180054e66
movzx eax, byte [0x1801fba30]
mov rax, qword [0x1801fb9b8]
test rax, rax
jne 0x18005267d
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x180055181
mov qword [0x1801fb9b8], rax
mov rcx, rax
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x180055181
mov rcx, rsi
mov r15, rbp
shr rcx, 0xa
je 0x1800527c7
bsr rcx, rcx
xor rcx, 0x3f
jmp 0x1800527cc
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 0x1800526d0
test rax, rax
je 0x180052756
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 0x180052740
mov rcx, r14
mov rdx, rsi
call fcn.180045f10
cmp al, 0x51
jne 0x18005279b
cmp rsi, 0xf
ja 0x1800528a4
xor eax, eax
nop word cs:[rax + rax]
cmp byte [rsp + rax + 0x300], 0
je 0x180054e66
inc rax
cmp rsi, rax
jne 0x180052780
jmp 0x1800529c6
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 0x180052af5
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 0x180054df7
cmp rsi, r8
jne 0x18005284c
mov edx, 1
mov rcx, r13
call fcn.180022180
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 0x18005504c
mov qword [rsp + 0x88], r8
inc rdi
cmp r14, rdi
jne 0x180052810
mov rdx, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x98]
test sil, 1
jne 0x1800528fd
lea rax, [0x1801c2358]
mov r9, rsi
mov rbp, r15
lea r14, [rsp + 0x300]
lea r15, [rsp + 0xb8]
jmp 0x180052af5
cmp qword [rsp + 0x268], r14
je 0x180052951
mov rcx, qword [rsp + 0x260]
cmp rcx, rsi
mov rax, rsi
cmovb rax, rcx
test rax, rax
je 0x180052951
xor ecx, ecx
cmp byte [rsp + rcx + 0x300], 0
je 0x180054e66
inc rcx
cmp rax, rcx
jne 0x1800528cf
lea rcx, [rsi - 0x10]
cmp rax, rcx
movabs r8, 0x8080808080808080
jbe 0x180052970
jmp 0x1800529c1
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 0x180052a53
test rdi, rdi
je 0x180052ac2
test dl, 1
lea r15, [rsp + 0xb8]
mov r9, rdx
jne 0x180052adf
or r9, 1
lea rax, [0x1801abf68]
jmp 0x180052ae6
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 0x1800529c1
add rax, 0x10
cmp rax, rcx
jbe 0x180052970
jmp 0x1800529c1
cmp byte [rsp + rax + 0x300], 0
je 0x180054e66
inc rax
cmp rsi, rax
jne 0x1800529b0
test rsi, rsi
js 0x18005504c
movzx eax, byte [0x1801fba30]
mov rax, qword [0x1801fb9b8]
test rax, rax
lea r14, [rsp + 0x300]
jne 0x180052a00
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x180055181
mov qword [0x1801fb9b8], rax
mov rcx, rax
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x180055181
mov rcx, rax
mov rdi, rax
mov rdx, r14
mov r8, rsi
call fcn.180164e10
mov rdx, rdi
mov r9, rdi
or r9, 1
test dl, 1
cmovne r9, rdi
lea rax, [0x1801abf80]
lea rcx, [0x1801abf68]
cmove rax, rcx
mov r8, rsi
jmp 0x180052af5
mov r15, rdx
movzx eax, byte [0x1801fba30]
mov rax, qword [0x1801fb9b8]
test rax, rax
jne 0x180052a7f
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800551a1
mov qword [0x1801fb9b8], rax
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800551a1
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, [0x180174218]
lea r15, [rsp + 0xb8]
jmp 0x180052ae6
lea rdx, str.description___is_deprecated__use_Display
xor r9d, r9d
xor edi, edi
lea rax, [0x1801bed48]
lea r15, [rsp + 0xb8]
jmp 0x180052ae6
lea rax, [0x1801abf80]
mov r8, rdi
sub r8, rsi
jb 0x18005504c
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 0x18005504c
mov r9, qword [rsp + 0xb0]
cmp r9, rsi
jb 0x18005504c
sub rsi, r12
mov qword [rsp + 0x240], rdx
jne 0x180052b8f
mov ecx, edx
xor esi, esi
xor edx, edx
mov qword [rsp + 0x140], rdx
lea r12, str.description___is_deprecated__use_Display
lea rdx, [0x1801bed48]
mov qword [rsp + 0x148], rdx
test rax, rax
mov qword [rsp + 0x1e0], rsi
je 0x180052bf5
jmp 0x180052c54
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 0x18005504c
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 0x180052c54
cmp cl, 0x14
jne 0x180052c54
test byte [rsp + 0x50], 1
jne 0x180052c2b
mov rcx, r12
mov rdx, rsi
call fcn.18004f090
mov dword [rsp + 0x50], eax
mov rsi, qword [rsp + 0xd0]
cmp rsi, 3
mov qword [rsp + 0x1d8], r12
jne 0x180052c6e
jmp 0x180053ae3
xor eax, eax
nop dword [rax]
cmp rsi, rax
je 0x180052f0a
movzx ecx, byte [r12 + rax]
inc rax
cmp cl, 9
je 0x180052c30
add cl, 0xe0
cmp cl, 0x5f
jb 0x180052c30
mov al, 1
mov dword [rsp + 0x50], eax
mov rsi, qword [rsp + 0xd0]
cmp rsi, 3
mov qword [rsp + 0x1d8], r12
je 0x180053ae3
mov rax, qword [rsp + 0x48]
mov r13, qword [rax]
mov rdi, qword [rax + 8]
cmp rdi, r13
jb 0x18005504c
mov r9, qword [rsp + 0xb0]
cmp r9, rdi
jb 0x18005504c
sub rdi, r13
jne 0x180052cb2
movdqa xmmword [rsp + 0x130], xmm6
lea rcx, [0x1801bed48]
lea r13, str.description___is_deprecated__use_Display
jmp 0x180052cf7
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 0x180052d77
test rbx, rbx
js 0x18005302c
xorps xmm0, xmm0
cvtsi2ss xmm0, rbx
mov rsi, qword [rsp + 0xf0]
test rsi, rsi
jns 0x180053057
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 0x18005306a
mov qword [rsp + 0xd0], 0
add rsi, rsi
lea rcx, [rsp + 0xd0]
mov rdx, rsi
jmp 0x180052da5
mov rdx, qword [rsp + 0xf0]
mov rax, rdx
shr rax, 2
mov rcx, rdx
sub rcx, rax
cmp rbx, rcx
jne 0x180052daa
test rbx, rbx
je 0x18005338b
add rdx, rdx
lea rcx, [rsp + 0xd0]
call fcn.180055650
mov rcx, qword [rsp + 0xd0]
cmp rcx, 2
mov qword [rsp + 0x238], rcx
jne 0x180052e73
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.180039020
mov rbx, r14
test r14, r14
je 0x180053241
mov rdx, qword [rsp + 0x210]
mov r8, qword [rsp + 0x218]
mov rcx, rsi
mov qword [rsp + 0x68], rdx
jmp 0x180053262
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 0x18005336f
mov rax, qword [rsp + 0x210]
mov qword [rsp + 0x68], rax
mov r8, qword [rsp + 0x218]
test r8, r8
je 0x180053577
mov rcx, r8
and rcx, 7
je 0x1800534f0
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 0x180052ef0
jmp 0x180053502
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.18004f230
test rax, rax
je 0x180052c4e
mov rcx, rax
call fcn.18004f590
cmp rdx, 5
jne 0x180052f70
movzx ecx, byte [rax]
lea edx, [rcx - 0x41]
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, cl
cmp dl, 0x63
jne 0x180052f70
movzx ecx, byte [rax + 1]
lea edx, [rcx - 0x41]
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, cl
cmp dl, 0x6c
jne 0x180052f70
movzx ecx, byte [rax + 2]
lea edx, [rcx - 0x41]
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, cl
cmp dl, 0x6f
jne 0x180052f70
movzx ecx, byte [rax + 3]
lea edx, [rcx - 0x41]
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, cl
cmp dl, 0x73
jne 0x180052f70
movzx eax, byte [rax + 4]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x65
jne 0x180052f70
mov dword [rsp + 0x50], 0
mov rsi, qword [rsp + 0xd0]
cmp rsi, 3
mov qword [rsp + 0x1d8], r12
jne 0x180052c6e
jmp 0x180053ae3
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 0x180052d36
cvtsi2ss xmm1, rsi
divss xmm0, xmm1
ucomiss xmm0, xmm9
jae 0x180052d5b
mov eax, dword [0x1801fba34]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0xa0], 0
jne 0x18005308c
call fcn.1800063b0
mov qword [rsp + 0xd0], 2
mov eax, dword [0x1801fba34]
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 0x18005312f
lea rcx, [rsi - 1]
movabs rax, 0x3fffffffffffffff
and rcx, rax
mov rax, rdi
cmp rcx, 7
jb 0x180053119
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 0x180053100
cmp rcx, rdx
je 0x18005312f
lea rcx, [rdi + rsi*4]
nop dword [rax]
mov dword [rax], 0xffff
add rax, 4
cmp rax, rcx
jne 0x180053120
test rbx, rbx
je 0x180052daa
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 0x180053178
mov word [rdi + rcx*4], r13w
mov rdx, rcx
mov word [rdi + rdx*4 + 2], ax
cmp r14, qword [rsp + 0x30]
je 0x180052daa
mov r13, r12
mov rbx, rbp
mov rbp, r14
add r14, 0x60
inc r12
lea rdx, [rbp + 0x38]
lea rcx, [rsp + 0xd0]
call fcn.180038d50
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 0x1800531b0
cmp word [rdi + rcx*4], 0xffff
je 0x180053160
movzx r8d, word [rdi + rcx*4 + 2]
and r8d, r15d
mov r9d, ecx
sub r9d, r8d
and r9d, r15d
cmp r9, rdx
jb 0x180053210
inc rdx
inc rcx
mov r8, rcx
jmp 0x1800531b0
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 0x180053210
movzx ecx, word [rdi + rdx*4]
cmp cx, 0xffff
jne 0x1800531e7
mov word [rdi + rdx*4], r13w
mov word [rdi + rdx*4 + 2], ax
cmp r14, qword [rsp + 0x30]
jne 0x180053178
jmp 0x180052daa
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.180039020
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 0x180053577
movzx ecx, byte [rsp + 0x210]
mov qword [rsp + 0x68], rcx
xor r15, rcx
imul r15, rax
xor r10d, r10d
jmp 0x180053577
mov word [rsp + 0x128], 7
movzx eax, byte [0x1801fba30]
mov rax, qword [0x1801fb9b8]
test rax, rax
jne 0x1800533be
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800551df
mov qword [0x1801fb9b8], rax
mov r8d, 0x20
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800551df
mov rsi, rax
movups xmmword [rax], xmm7
movups xmmword [rax + 0x10], xmm7
cmp qword [rsp + 0xf0], 0
je 0x180053404
mov r8, qword [rsp + 0xe8]
mov rcx, qword [0x1801fb9b8]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov qword [rsp + 0xe8], rsi
mov qword [rsp + 0xf0], 8
movzx eax, byte [0x1801fba30]
mov rax, qword [0x1801fb9b8]
test rax, rax
jne 0x180053441
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800551f0
mov qword [0x1801fb9b8], rax
mov r8d, 0x240
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800551f0
mov rsi, rax
mov rdi, qword [rsp + 0xf8]
mov r14, qword [rsp + 0x108]
test r14, r14
je 0x1800534ae
lea rbx, [rdi + 0x30]
jmp 0x180053494
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 0x1800534ae
mov rax, qword [rbx + 8]
test rax, rax
je 0x180053479
lea rcx, [rbx + 0x20]
mov rdx, qword [rbx + 0x10]
mov r8, qword [rbx + 0x18]
call qword [rax + 0x10]
jmp 0x180053479
cmp qword [rsp + 0x100], 0
je 0x1800534cb
mov rcx, qword [0x1801fb9b8]
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 0x180052daa
mov rdx, r15
mov rax, qword [rsp + 0x68]
movabs r9, 0x100000001b3
cmp r8, 8
jb 0x180053574
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 0x180053510
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 0x1800535f6
mov rcx, qword [rsp + 0x68]
cmp byte [rax + 8], cl
je 0x1800536b9
inc r13
inc rbp
mov rax, rbp
nop dword [rax]
mov rbp, rax
mov eax, 0
cmp rbp, r12
jae 0x180053600
movzx r14d, word [rsi + rbp*4]
cmp r14, 0xffff
je 0x18005378a
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 0x1800537f1
cmp ax, r15w
jne 0x1800535f0
cmp r9, r14
jbe 0x18005504c
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 0x1800535f0
lea rax, [r8 + rbx]
add rax, 0x38
test rcx, rcx
je 0x1800535e2
mov rcx, qword [rsp + 0x30]
cmp qword [rax + 0x10], rcx
jne 0x1800535f0
mov rcx, qword [rax + 8]
mov rdx, r11
mov r8, qword [rsp + 0x30]
call fcn.180165850
mov r11, qword [rsp + 0x228]
mov r8, qword [rsp + 0x150]
mov r9, qword [rsp + 0x60]
mov r10, qword [rsp + 0xc0]
test eax, eax
jne 0x1800535f0
lea rdi, [r8 + rbx]
cmp qword [r8 + rbx], 0
je 0x18005419e
mov rbx, qword [rdi + 0x10]
mov rsi, qword [rsp + 0x120]
mov rcx, rsi
cmp rsi, qword [rsp + 0x118]
lea r13, [rsp + 0x80]
jne 0x180053701
lea rcx, [rsp + 0x110]
mov rdx, rsi
call fcn.1801266e0
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 0x18005504c
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 0x180053ae3
test r10, r10
je 0x18005386f
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 0x180053871
cmp r13, 0x200
setae r14b
cmp dword [rsp + 0x238], 2
setne dil
test r10, r10
je 0x180053979
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 0x18005397c
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 0x18005504c
mov rax, r9
cmp r9, qword [rsp + 0x100]
jne 0x1800538e8
lea rcx, [rsp + 0xf8]
mov rdx, r9
mov rdi, r11
call fcn.180055990
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 0x18005504c
mov rax, qword [rsp + 0xe8]
mov word [rax + rbp*4], r9w
mov word [rax + rbp*4 + 2], r15w
jmp 0x180053ae3
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 0x18005504c
mov rax, r9
cmp r9, qword [rsp + 0x100]
jne 0x1800539f3
lea rcx, [rsp + 0xf8]
mov rdx, r9
mov rsi, r11
call fcn.180055990
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 0x180053a70
movzx edx, word [rsi + rcx*4]
cmp dx, 0xffff
je 0x180053aa9
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 0x180053a70
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.1800500d0
mov rcx, rsi
mov rdx, r13
call fcn.180038d50
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 0x180053bc6
cmp byte [rax + 8], r11b
je 0x180053c8d
nop dword [rax + rax]
inc rbp
inc r15
mov rax, r15
nop dword [rax]
mov r15, rax
mov eax, 0
cmp r15, r12
jae 0x180053bd0
movzx r13d, word [rbx + r15*4]
cmp r13, 0xffff
je 0x180053d90
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 0x180053eba
cmp ax, r8w
jne 0x180053bc0
cmp rsi, r13
jbe 0x18005504c
test r10, r10
sete al
imul rdi, r13, 0x68
mov rcx, qword [r9 + rdi + 0x40]
test rcx, rcx
setne dl
cmp dl, al
je 0x180053bc0
lea rax, [r9 + rdi]
add rax, 0x40
test rcx, rcx
je 0x180053bb1
mov rcx, qword [rsp + 0x30]
cmp qword [rax + 0x10], rcx
jne 0x180053bc0
mov rcx, qword [rax + 8]
mov rdx, qword [rsp + 0x150]
mov r8, qword [rsp + 0x30]
call fcn.180165850
movzx r11d, byte [rsp + 0x228]
mov r10, qword [rsp + 0xc0]
movzx r8d, word [rsp + 0x68]
mov r9, qword [rsp + 0x60]
test eax, eax
jne 0x180053bc0
lea r14, [r9 + rdi]
cmp qword [r9 + rdi], 0
je 0x180054088
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, [0x1801bef48]
jne 0x180053ce4
lea rcx, [rsp + 0x1a0]
mov rdx, rsi
call fcn.180037e10
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 0x18005504c
lea rax, [rbx + rbx*8]
mov qword [rcx + rax*8 + 0x10], 1
mov qword [rcx + rax*8 + 0x18], rsi
mov qword [r14], 1
jmp 0x18005415c
cmp rsi, 0x7fff
ja 0x18005504c
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 0x180053e09
lea rcx, [rsp + 0x188]
mov rdx, rsi
call fcn.180050010
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 0x18005504c
mov rax, qword [rsp + 0x178]
mov word [rax + r15*4], si
mov word [rax + r15*4 + 2], di
jmp 0x180054061
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 0x18005504c
mov rax, rsi
cmp rsi, qword [rsp + 0x190]
lea r13, [rsp + 0x80]
mov r14d, dword [rsp + 0xc8]
jne 0x180053f50
lea rcx, [rsp + 0x188]
mov rdx, rsi
call fcn.180050010
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 0x180053ff0
movzx edx, word [rbx + rcx*4]
cmp dx, 0xffff
je 0x180054028
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 0x180053ff0
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, [0x1801bef48]
mov rsi, qword [rsp + 0x48]
cmp rsi, qword [rsp + 0x258]
jne 0x1800525e6
jmp 0x180054245
mov rsi, qword [rsp + 0x1b0]
mov rax, rsi
cmp rsi, qword [rsp + 0x1a8]
lea r15, [rsp + 0xb8]
mov rbp, qword [rsp + 0x1d0]
lea r12, [0x1801bef48]
jne 0x1800540cc
lea rcx, [rsp + 0x1a0]
mov rdx, rsi
call fcn.180037e10
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 0x180054075
mov rdx, qword [rsp + 0x88]
mov r8, qword [rsp + 0x90]
lea rcx, [rsp + 0x98]
call qword [rax + 0x10]
jmp 0x180054075
mov rsi, qword [rsp + 0x120]
mov rax, rsi
cmp rsi, qword [rsp + 0x118]
lea r13, [rsp + 0x80]
jne 0x1800541d3
lea rcx, [rsp + 0x110]
mov rdx, rsi
call fcn.1801266e0
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 0x180053ae3
mov r13, qword [rsp + 0xd0]
cmp r13, 3
mov qword [rsp + 0x48], r13
je 0x1800544a1
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 [0x1801fba30]
mov rax, qword [0x1801fb9b8]
test rax, rax
mov r14, qword [rsp + 0x40]
mov r12, qword [rsp + 0x1c8]
jne 0x1800542f6
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x180055190
mov qword [0x1801fb9b8], rax
mov r8d, 0x20
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x180055190
mov rsi, rax
lea rax, [0x1801e53d0]
mov qword [rsi], rax
movdqu xmmword [rsi + 8], xmm6
mov qword [rsi + 0x18], 0
movzx eax, byte [0x1801fba30]
mov rax, qword [0x1801fb9b8]
test rax, rax
jne 0x180054353
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800551b2
mov qword [0x1801fb9b8], rax
mov r8d, 0x60
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800551b2
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.1800554a0
mov qword [rsp + 0x20], rcx
mov rcx, rsi
movabs rdx, 0x105865fc92ab4293
movabs r8, 0x25fd6926148bca79
mov r9, rax
call fcn.180055290
test rax, rax
je 0x180054732
mov rdi, rax
mov rbx, rdx
mov rcx, rax
call qword [rdx + 0x18]
movabs rcx, 0x25fd6926148bca79
xor rdx, rcx
movabs rcx, 0x105865fc92ab4293
xor rax, rcx
or rax, rdx
jne 0x180054709
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 [0x1801fb9b8]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
cmp qword [rsp + 0x300], 3
je 0x180054732
lea rcx, [rsp + 0x300]
call fcn.1800554a0
jmp 0x180054732
cmp qword [rsp + 0x1e8], 0
mov r14, qword [rsp + 0x40]
mov r12, qword [rsp + 0x1c8]
je 0x1800546a1
movups xmm0, xmmword [rsp + 0x1e8]
movups xmm1, xmmword [rsp + 0x1f8]
movaps xmmword [rsp + 0x310], xmm1
movaps xmmword [rsp + 0x300], xmm0
movzx eax, byte [0x1801fba30]
mov rax, qword [0x1801fb9b8]
test rax, rax
jne 0x180054506
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x180055190
mov qword [0x1801fb9b8], rax
mov r8d, 0x20
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x180055190
mov rsi, rax
lea rax, [0x1801e53d0]
mov qword [rsi], rax
movdqu xmmword [rsi + 8], xmm6
mov qword [rsi + 0x18], 0
mov r13b, 1
jmp 0x180054764
lea eax, [rsi - 1]
mov word [rsp + 0x1b8], ax
lea rbx, [rsi*4]
movzx eax, byte [0x1801fba30]
mov rax, qword [0x1801fb9b8]
test rax, rax
jne 0x18005457e
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800551c3
mov qword [0x1801fb9b8], rax
mov rcx, rax
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1800551c3
mov rdi, rax
cmp rsi, 2
jb 0x1800545ff
mov ecx, 1
mov rax, rdi
cmp rsi, 9
jb 0x1800545e9
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 0x1800545d0
cmp rdx, r8
je 0x1800545ff
mov rdx, rsi
sub rdx, rcx
nop
mov dword [rax], 0xffff
add rax, 4
dec rdx
jne 0x1800545f0
mov dword [rax], 0xffff
test r14, r14
je 0x180054621
mov r8, qword [rsp + 0x178]
mov rcx, qword [0x1801fb9b8]
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 0x18005504c
imul rsi, r14, 0x68
mov bl, al
shl rbx, 3
test rsi, rsi
je 0x1800546b0
movzx eax, byte [0x1801fba30]
mov rax, qword [0x1801fb9b8]
test rax, rax
jne 0x18005468e
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1800551d2
mov qword [0x1801fb9b8], rax
mov rcx, rax
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapAlloc]
mov rdi, rax
jmp 0x1800546b3
mov r13b, 1
xor ebx, ebx
xor esi, esi
mov dil, 1
jmp 0x1800548af
mov rdi, rbx
test rdi, rdi
je 0x1800551d2
cmp qword [rsp + 0x190], 0
je 0x1800546de
mov r8, qword [rsp + 0x188]
mov rcx, qword [0x1801fb9b8]
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 0x1800525af
jmp 0x18005504c
mov rcx, rdi
call qword [rbx]
cmp qword [rbx + 8], 0
je 0x180054732
cmp qword [rbx + 0x10], 0x11
jb 0x180054720
mov rdi, qword [rdi - 8]
mov rcx, qword [0x1801fb9b8]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
cmp qword [rsp + 0x1e8], 0
je 0x1800548a7
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 [0x1801fba30]
mov rax, qword [0x1801fb9b8]
test rax, rax
jne 0x18005478d
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x180055190
mov qword [0x1801fb9b8], rax
mov r8d, 0x20
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x180055190
movdqa xmm0, xmmword [rsp + 0x300]
movapd xmm1, xmmword [rsp + 0x310]
movupd xmmword [rax + 0x10], xmm1
movdqu xmmword [rax], xmm0
lea rcx, [0x1801acb88]
mov qword [rsp + 0x20], rcx
mov rcx, rsi
movabs rdx, 0x36f3be11073037b8
movabs r8, 0xc3d9ee250ca61893
mov r9, rax
call fcn.180055290
test rax, rax
je 0x1800548a1
mov rdi, rax
mov rbx, rdx
mov rcx, rax
call qword [rdx + 0x18]
movabs rcx, 0xc3d9ee250ca61893
xor rdx, rcx
movabs rcx, 0x36f3be11073037b8
xor rax, rcx
or rax, rdx
jne 0x180054878
movdqu xmm0, xmmword [rdi]
movupd xmm1, xmmword [rdi + 0x10]
movapd xmmword [rsp + 0x90], xmm1
movdqa xmmword [rsp + 0x80], xmm0
mov rcx, qword [0x1801fb9b8]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x1800548a1
mov rdx, qword [rsp + 0x88]
mov r8, qword [rsp + 0x90]
lea rcx, [rsp + 0x98]
call qword [rax + 0x10]
jmp 0x1800548a1
mov rcx, rdi
call qword [rbx]
cmp qword [rbx + 8], 0
je 0x1800548a1
cmp qword [rbx + 0x10], 0x11
jb 0x18005488f
mov rdi, qword [rdi - 8]
mov rcx, qword [0x1801fb9b8]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
mov bl, 1
xor edi, edi
jmp 0x1800548af
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 0x180054944
je 0x180054972
jmp 0x180054963
cmp eax, 0x65
je 0x180054fb1
cmp eax, 0xcc
je 0x180054fb7
cmp eax, 0x130
je 0x180054fb7
lea eax, [r12 - 0x66]
cmp ax, 0x62
jae 0x180054f82
mov r12, qword [rbp + 8]
test r12, r12
je 0x180054f5b
lea rcx, [rsp + 0x300]
call fcn.180035420
mov rcx, rsi
call fcn.180083780
cmp dword [rsp + 0x48], 3
jne 0x1800549b5
mov rax, qword [rsp + 0xd0]
cmp eax, 3
je 0x1800549b5
lea rcx, [rsp + 0xd0]
call fcn.1800554a0
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 0x1800549f2
lea r11, [rsp + 0x200]
jmp 0x180051397
mov rdx, qword [rsp + 0x1f0]
mov r8, qword [rsp + 0x1f8]
lea rcx, [rsp + 0x200]
call qword [rax + 0x10]
lea r11, [rsp + 0x200]
jmp 0x180051397
mov r9d, 4
jmp 0x180054a25
xor r9d, r9d
sub rbx, r9
je 0x180054dd9
add rax, r9
xor r9d, r9d
xor r8d, r8d
jmp 0x180054a5c
inc r13
test r10b, r10b
movzx r9d, r9b
mov r10d, 1
cmovs r9d, r10d
mov r8, r13
cmp rbx, r13
mov r11, rsi
je 0x180054dd9
mov rsi, r11
mov r13, r8
movzx r10d, byte [rax + r8]
mov r11d, r10d
add r11d, 0xfffffff7
cmp r11d, 0x17
ja case.0x180054a8b.11
mov r13, r15
lea r15, [0x180055214]
movsxd r11, dword [r15 + r11*4]
add r11, r15
mov r15, r13
mov r13, r8
jmp r11
test r10b, r10b
js case.0x180054a8b.9
lea r11d, [r10 - 0x7f]
cmp r11b, 0xa2
jae case.0x180054a8b.9
jmp case.0x180055062.3
mov r10, r13
not r10
add rbx, r10
test r9b, 1
mov r10, rax
lea r9, str.description___is_deprecated__use_Display
cmovne r10, r9
lea rax, [rax + r13 + 1]
mov r9d, 0
cmovne r13, r9
mov qword [rsp + 0x68], r13
mov r11, rsi
jmp 0x180054b1f
lea r10, [r13 + 1]
cmp rbx, r10
jbe 0x180054dd9
cmp byte [rax + r8 + 1], 0xa
jne case.0x180055062.3
mov r11, rsi
sub rbx, r8
add rbx, 0xfffffffffffffffe
test r9b, 1
mov r10, rax
lea r9, str.description___is_deprecated__use_Display
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 0x1800516b4
jmp 0x180054dd9
add rsi, qword [rsp + 0x60]
jmp 0x180054b5f
cmp rcx, rsi
jbe 0x180054dd9
mov rax, qword [rsp + 0x48]
cmp byte [rax + rsi], 0xa
jne 0x180054c5d
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 0x180055177
call fcn.180049f70
test rax, rax
mov r15, qword [rsp + 0x68]
je 0x180054bb8
cmp r15, rdx
jne 0x180054bb8
mov rcx, qword [rsp + 0xc0]
mov rdx, rax
mov r8, r15
call fcn.180165850
test eax, eax
je 0x180054cd1
test r15, r15
je 0x180054c71
js 0x18005504c
movzx eax, byte [0x1801fba30]
mov rax, qword [0x1801fb9b8]
test rax, rax
jne 0x180054bf0
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x180055201
mov qword [0x1801fb9b8], rax
mov rcx, rax
xor edx, edx
mov r8, qword [rsp + 0x68]
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x180055201
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.180164e10
mov rcx, qword [rsp + 0x30]
test cl, 1
jne 0x180054cad
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, [0x1801abf68]
jmp 0x180054cd6
mov rax, qword [rsp + 0x70]
and rax, 0xffffffffffffff00
or rax, 2
jmp 0x18005212b
lea rax, str.description___is_deprecated__use_Display
mov qword [rsp + 0xd8], rax
lea rax, [rsp + 0xd8]
movdqu xmmword [rax + 8], xmm6
xor r15d, r15d
lea rax, [0x1801bed48]
jmp 0x180054cd6
mov rax, qword [rsp + 0x70]
and rax, 0xffffffffffffff00
or rax, 1
jmp 0x18005212b
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xe0], r15
mov qword [rsp + 0xe8], rcx
xor r15d, r15d
lea rax, [0x1801abf80]
jmp 0x180054cd6
mov r15b, 1
xor eax, eax
mov qword [rsp + 0xd0], rax
cmp r13, 0x64
mov edx, 0x64
cmovb rdx, r13
test rdx, rdx
je 0x180054d76
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 0x180055132
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 0x180054d08
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 0x18005216c
mov eax, 5
jmp 0x18005212b
mov rax, qword [rsp + 0x70]
and rax, 0xffffffffffffff00
or rax, 1
mov r14, rdx
jmp 0x18005212b
mov qword [r14], 3
jmp 0x180054efa
xor eax, eax
mov byte [r14 + 8], al
mov qword [r14], 4
jmp 0x180054efa
mov rsi, qword [rsp + 0x98]
test sil, 1
jne 0x180054e33
lock dec qword [rsi + 0x20]
lea r15, [rsp + 0xb8]
jne 0x180054e66
mov rax, qword [rsi + 0x20]
cmp qword [rsi + 8], 0
je 0x180054e54
mov r8, qword [rsi]
mov rcx, qword [0x1801fb9b8]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x180054e54
shr rsi, 5
neg rsi
cmp qword [rsp + 0x90], rsi
lea r15, [rsp + 0xb8]
je 0x180054e66
add rsi, qword [rsp + 0x80]
mov rcx, qword [0x1801fb9b8]
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 0x180054e9d
mov rax, qword [rsp + 0xd0]
cmp eax, 3
je 0x180054e9d
lea rcx, [rsp + 0xd0]
call fcn.1800554a0
test sil, sil
jne 0x180054eaf
lea rcx, [rsp + 0x160]
call fcn.180035420
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 0x180054efa
mov rax, qword [rsp + 0x1e8]
test rax, rax
je 0x180054efa
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.0x180055062.0
mov eax, 3
mov qword [r14], rax
lea rcx, [rsp + 0x300]
call fcn.180035420
mov rcx, qword [rsp + 0x360]
call fcn.180083780
jmp 0x18005503b
mov rax, qword [rsp + 0x230]
mov rax, qword [rax + 8]
movzx eax, byte [rax]
cmp eax, 5
je 0x180054fb7
cmp eax, 7
jne 0x18005506b
add r12d, 0xffffff38
cmp r12w, 0x64
jae 0x18005506b
mov al, 1
xor edx, edx
jmp 0x180054fbb
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 0x180054e83
jmp 0x180054e9d
ud2
xor eax, eax
mov ecx, ecx
lea rdx, [0x180055274]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
mov al, 0xa
jmp case.0x180055062.0
movups xmm0, xmmword [0x1801ad630]
movaps xmmword [rsp + 0x90], xmm0
movdqu xmm0, xmmword [0x1801ad620]
movdqa xmmword [rsp + 0x80], xmm0
lea rcx, [rsp + 0x300]
lea rdx, [rsp + 0x80]
call fcn.18003dd70
test al, al
je 0x1800550c8
mov cl, 2
cmp byte [rsp + 0x158], 1
je 0x180055124
lea rcx, [rsp + 0x300]
call fcn.180055590
movzx edx, al
not rdx
jmp 0x180054fb9
lea rcx, [rsp + 0x300]
call fcn.18004f810
cmp rax, 1
jne 0x1800550e9
mov cl, 9
cmp rdx, 0xfffffffffffffffe
jb 0x180054fb9
jmp 0x180055124
movups xmm0, xmmword [0x1801c0330]
movaps xmmword [rsp + 0x90], xmm0
movdqu xmm0, xmmword [0x1801c0320]
movdqa xmmword [rsp + 0x80], xmm0
lea rcx, [rsp + 0x300]
lea rdx, [rsp + 0x80]
call fcn.18003dd70
mov cl, 1
test al, al
je 0x18005516b
mov byte [r14 + 8], cl
mov eax, 4
jmp 0x180054f60
mov byte [r14 + 8], 9
mov qword [r14], 4
test r15b, r15b
jne 0x180054efa
mov rdx, qword [rsp + 0xd8]
mov r8, qword [rsp + 0xe0]
lea rcx, [rsp + 0xe8]
jmp 0x180054ef7
mov al, 9
jmp case.0x180055062.0
mov rdx, 0xffffffffffffffff
jmp 0x180054fb9
mov byte [r14 + 8], 0xa
jmp 0x180054deb
mov ecx, 1
mov rdx, rsi
call fcn.180166e20
ud2
mov ecx, 8
mov edx, 0x20
call fcn.180166e20
ud2
mov ecx, 8
mov edx, 0x18
call fcn.180166e20
ud2
mov ecx, 8
mov edx, 0x60
call fcn.180166e20
ud2
mov ecx, 2
mov rdx, rbx
call fcn.180166e20
ud2
mov rcx, rbx
mov rdx, rsi
call fcn.180166e20
ud2
mov ecx, 2
mov edx, 0x20
call fcn.180166e20
ud2
mov ecx, 8
mov edx, 0x240
call fcn.180166e20
ud2
mov ecx, 1
mov rdx, qword [rsp + 0x68]
call fcn.180166e20
ud2