Function at 0x1800367d0
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rdi
push r12
lea rbp, [rsp - 0xc50]
sub rsp, 0xd50
lea rcx, [rbp + 0x2f0]
mov r12, r8
mov rdi, rdx
call fcn.18000a190
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.1800358f0
cmp qword [rbp + 0x38], 0
je 0x180037beb
cmp qword [rbp + 0x20], 0
je 0x180037beb
mov dword [rsp + 0x50], 0x48
mov dword [rbp + 0xc88], 8
mov ecx, dword [rbp + 0xc88]
mov eax, dword [rsp + 0x50]
add ecx, eax
mov dword [rbp + 0xc88], ecx
mov ecx, dword [rbp + 0xc88]
movzx eax, word [rbp + 0x40]
mov dword [rsp + 0x50], 0x1c
test ax, ax
mov dword [rbp + 0xc88], 2
cmovne cx, ax
mov qword [rsp + 0xd78], rbx
mov dword [rsp + 0x30], ecx
xor edx, edx
mov ecx, dword [rbp + 0xc88]
mov eax, dword [rsp + 0x50]
add ecx, eax
mov dword [rbp + 0xc88], ecx
lea rcx, [rbp + 0x2f0]
mov edi, dword [rbp + 0xc88]
movzx eax, byte [rbp + 0x3e2]
mov qword [rsp + 0xd48], rsi
mov qword [rsp + 0xd40], r13
mov qword [rsp + 0xd38], r14
mov r14, qword [rbp + 0x38]
mov byte [rbp + 0xc88], al
mov qword [rsp + 0xd30], r15
call fcn.18000b380
movzx edx, byte [r14]
lea r9, [rsp + 0x40]
mov r15, 0xffffffffffffffff
mov dword [rbp], edi
xor r10d, r10d
mov r13d, r15d
mov dword [rbp + 4], r10d
mov rdi, r14
lea r11d, [r15 + 0x62]
nop word [rax + rax]
lea eax, [rdx - 0x30]
movabs rsi, 0x100003e01
cmp al, 9
ja 0x180036a85
mov ebx, r10d
mov r8d, 0xa
mov ecx, r10d
cmp dl, 0x30
jne 0x180036940
movzx edx, byte [rdi + 1]
inc rdi
lea eax, [rdx - 0x58]
test al, 0xdf
je 0x18003692e
lea ecx, [r8 - 9]
lea r8d, [rcx + 7]
jmp 0x180036940
mov r8d, 0x10
inc rdi
movzx edx, byte [rdi]
nop word [rax + rax]
lea eax, [rdx - 0x30]
cmp al, 9
ja 0x180036970
cmp r8d, 8
jne 0x180036958
lea eax, [rdx - 0x38]
cmp al, 1
jbe 0x180036a85
mov ecx, r8d
imul ecx, ebx
movsx ebx, dl
add ebx, 0xffffffd0
add ebx, ecx
mov ecx, 1
inc rdi
jmp 0x180036937
cmp r8d, 0x10
jne 0x1800369b4
lea eax, [rdx - 0x30]
cmp al, 9
jbe 0x18003698b
lea eax, [rdx - 0x61]
cmp al, 5
jbe 0x18003698b
lea eax, [rdx - 0x41]
cmp al, 5
ja 0x1800369b4
lea eax, [rdx - 0x61]
mov ecx, 0x41
cmp al, 0x19
movsx edx, dl
mov eax, ebx
cmovbe ecx, r11d
shl eax, 4
sub edx, ecx
mov ecx, 1
add edx, 0xa
mov ebx, edx
or ebx, eax
inc rdi
jmp 0x180036937
cmp dl, 0x2e
jne 0x1800369e5
lea rax, [rsp + 0x43]
cmp r9, rax
jae 0x180036a85
cmp ebx, 0xff
ja 0x180036a85
movzx edx, byte [rdi + 1]
mov byte [r9], bl
inc r9
inc rdi
jmp 0x1800368f0
cmp dl, 0x20
ja 0x180036a85
bt rsi, rdx
jae 0x180036a85
test ecx, ecx
je 0x180036a85
lea rax, [rsp + 0x40]
sub r9d, eax
inc r9d
sub r9d, 2
je 0x180036a63
sub r9d, 1
je 0x180036a45
cmp r9d, 1
jne 0x180036a75
cmp ebx, 0xff
ja 0x180036a85
movzx eax, byte [rsp + 0x41]
movzx ecx, byte [rsp + 0x40]
shl ecx, 8
or ecx, eax
movzx eax, byte [rsp + 0x42]
shl ecx, 8
or ecx, eax
shl ecx, 8
or ebx, ecx
jmp 0x180036a75
cmp ebx, 0xffff
ja 0x180036a85
movzx ecx, byte [rsp + 0x40]
movzx eax, byte [rsp + 0x41]
shl ecx, 8
or ecx, eax
shl ecx, 0x10
or ebx, ecx
jmp 0x180036a75
cmp ebx, 0xffffff
ja 0x180036a85
movzx eax, byte [rsp + 0x40]
shl eax, 0x18
or ebx, eax
bswap ebx
mov dword [rbp + 0x18], ebx
cmp ebx, 0xffffffff
jne 0x180036e95
jmp 0x180036a8a
mov ebx, 0xffffffff
mov rax, qword [0x18039c688]
test rax, rax
jne 0x180036bb9
mov byte [rbp - 0x78], al
mov dword [rsp + 0x7a], 0x73636238
mov dword [rsp + 0x7e], 0x7f796660
mov dword [rbp - 0x7e], 0x6e60746e
mov word [rbp - 0x7a], 0x747d
mov qword [rsp + 0x50], r10
mov rax, qword [rsp + 0x50]
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
add cl, 5
xor cl, byte [rsp + rax + 0x7b]
mov rax, qword [rsp + 0x50]
mov byte [rsp + rax + 0x7b], cl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 0xd
jb 0x180036ad0
mov byte [rbp - 0x78], r10b
call fcn.180001750
mov rcx, qword gs:[0x58]
mov rsi, rax
mov edi, dword [0x18039b468]
mov edx, 4
mov rdi, qword [rcx + rdi*8]
add rdi, rdx
mov ecx, dword [rdi]
cmp dword [0x18039d510], ecx
jle 0x180036b62
lea rcx, [0x18039d510]
call fcn.180360f8c
cmp dword [0x18039d510], r13d
jne 0x180036b62
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rcx, [0x18039d510]
mov qword [0x1803a15b8], rax
call fcn.180360f2c
mov eax, dword [rdi]
cmp dword [0x1803a1558], eax
jle 0x180036b9b
lea rcx, [0x1803a1558]
call fcn.180360f8c
cmp dword [0x1803a1558], r13d
jne 0x180036b9b
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1803a1558]
mov qword [0x1803a1560], rax
call fcn.180360f2c
mov rcx, rsi
call qword [0x1803a15b8]
mov rcx, rax
lea rdx, [rsp + 0x7b]
call qword [0x1803a1560]
mov qword [0x18039c688], rax
mov rcx, r14
call rax
test rax, rax
je 0x180036e95
mov rax, qword [rax + 0x18]
lea rdi, [0x1803a1568]
xor bl, bl
xor esi, esi
mov rcx, qword [rax]
lea r14d, [rsi + 0x57]
mov eax, dword [rcx]
mov dword [rbp - 0x70], eax
mov byte [0x1803a1568], bl
nop dword [rax + rax]
movzx ecx, byte [rbp + rsi - 0x70]
lea r9, [rbp - 0x74]
nop dword [rax]
mov eax, 0xcccccccd
mul ecx
shr edx, 3
lea eax, [rdx + rdx*4]
add eax, eax
sub ecx, eax
mov eax, 0x30
cmp ecx, 0xa
cmovge eax, r14d
add al, cl
mov ecx, edx
mov byte [r9], al
inc r9
test edx, edx
jg 0x180036c00
lea rax, [rbp - 0x74]
mov byte [r9], 0
sub r9d, eax
mov r10d, 0
mov r11d, r9d
shr r11d, 1
je 0x180036c78
lea r8, [rbp - 0x74]
nop dword [rax + rax]
movzx edx, byte [r8]
lea rcx, [rbp - 0x74]
mov eax, r9d
lea r8, [r8 + 1]
sub eax, r10d
inc r10d
dec eax
add rcx, rax
movzx eax, byte [rcx]
mov byte [r8 - 1], al
mov byte [rcx], dl
cmp r10d, r11d
jb 0x180036c50
xor ecx, ecx
test bl, bl
je 0x180036c88
nop
inc ecx
cmp byte [rcx + rdi], 0
jne 0x180036c80
lea rdx, [rbp - 0x74]
add rcx, rdi
nop
movzx eax, byte [rdx]
inc rdx
mov byte [rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x180036c90
cmp rsi, 3
jge 0x180036cd2
xor ecx, ecx
cmp byte [0x1803a1568], cl
je 0x180036cb8
inc ecx
cmp byte [rcx + rdi], 0
jne 0x180036cb0
lea rdx, [0x18038e6ac]
add rcx, rdi
movzx eax, byte [rdx]
inc rdx
mov byte [rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x180036cc2
inc rsi
cmp rsi, 4
jge 0x180036ce7
movzx ebx, byte [0x1803a1568]
jmp 0x180036bf0
movzx edx, byte [0x1803a1568]
lea r9, [rsp + 0x44]
mov r10d, 0x61
nop dword [rax]
lea eax, [rdx - 0x30]
cmp al, 9
ja 0x180036e90
xor ebx, ebx
xor ecx, ecx
lea r8d, [rbx + 0xa]
cmp dl, 0x30
jne 0x180036d40
movzx edx, byte [rdi + 1]
inc rdi
lea eax, [rdx - 0x58]
test al, 0xdf
je 0x180036d2f
lea ecx, [rbx + 1]
lea r8d, [rbx + 8]
jmp 0x180036d40
mov r8d, 0x10
inc rdi
movzx edx, byte [rdi]
nop dword [rax + rax]
lea eax, [rdx - 0x30]
cmp al, 9
ja 0x180036d70
cmp r8d, 8
jne 0x180036d58
lea eax, [rdx - 0x38]
cmp al, 1
jbe 0x180036e90
mov ecx, r8d
imul ecx, ebx
movsx ebx, dl
add ebx, 0xffffffd0
add ebx, ecx
mov ecx, 1
inc rdi
jmp 0x180036d38
cmp r8d, 0x10
jne 0x180036db4
lea eax, [rdx - 0x30]
cmp al, 9
jbe 0x180036d8b
lea eax, [rdx - 0x61]
cmp al, 5
jbe 0x180036d8b
lea eax, [rdx - 0x41]
cmp al, 5
ja 0x180036db4
lea eax, [rdx - 0x61]
mov ecx, 0x41
cmp al, 0x19
movsx edx, dl
mov eax, ebx
cmovbe ecx, r10d
shl eax, 4
sub edx, ecx
mov ecx, 1
add edx, 0xa
mov ebx, edx
or ebx, eax
inc rdi
jmp 0x180036d38
cmp dl, 0x2e
jne 0x180036de5
lea rax, [rsp + 0x47]
cmp r9, rax
jae 0x180036e90
cmp ebx, 0xff
ja 0x180036e90
movzx edx, byte [rdi + 1]
mov byte [r9], bl
inc r9
inc rdi
jmp 0x180036d00
cmp dl, 0x20
ja 0x180036e90
movabs rax, 0x100003e01
bt rax, rdx
jae 0x180036e90
test ecx, ecx
je 0x180036e90
lea rax, [rsp + 0x44]
sub r9d, eax
inc r9d
sub r9d, 2
je 0x180036e77
sub r9d, 1
je 0x180036e54
cmp r9d, 1
jne 0x180036e89
cmp ebx, 0xff
ja 0x180036e90
movzx eax, byte [rsp + 0x45]
movzx ecx, byte [rsp + 0x44]
shl ecx, 8
or ecx, eax
movzx eax, byte [rsp + 0x46]
shl ecx, 8
or ecx, eax
shl ecx, 8
or ebx, ecx
bswap ebx
mov dword [rbp + 0x1c], ebx
jmp 0x180036e95
cmp ebx, 0xffff
ja 0x180036e90
movzx ecx, byte [rsp + 0x44]
movzx eax, byte [rsp + 0x45]
shl ecx, 8
or ecx, eax
shl ecx, 0x10
or ebx, ecx
bswap ebx
mov dword [rbp + 0x1c], ebx
jmp 0x180036e95
cmp ebx, 0xffffff
ja 0x180036e90
movzx eax, byte [rsp + 0x44]
shl eax, 0x18
or ebx, eax
bswap ebx
mov dword [rbp + 0x1c], ebx
jmp 0x180036e95
mov ebx, 0xffffffff
mov eax, dword [rsp + 0x30]
lea rdi, [rbp + 0x10]
rol ax, 8
mov ecx, 2
mov word [rbp + 0xa], ax
mov word [rbp + 8], cx
mov dword [rbp + 0xc], ebx
mov qword [rsp + 0x50], 6
mov qword [rsp + 0x30], rcx
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x50]
add rcx, rax
xor eax, eax
mov qword [rsp + 0x30], rcx
mov rcx, qword [rsp + 0x30]
rep stosb byte [rdi], al
mov rax, qword [0x18039c6f8]
test rax, rax
jne 0x180036ffd
mov byte [rsp + 0x6c], al
xor r14d, r14d
mov dword [rsp + 0x64], 0x383a37af
mov dword [rsp + 0x68], 0x2e3a3d39
mov qword [rsp + 0x30], r14
mov rax, qword [rsp + 0x30]
nop dword [rax + rax]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
add cl, 0x54
xor cl, byte [rsp + rax + 0x65]
mov rax, qword [rsp + 0x30]
mov byte [rsp + rax + 0x65], cl
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
cmp rax, 7
jb 0x180036f10
mov byte [rsp + 0x6c], r14b
call fcn.180001750
mov r8d, dword [0x18039b468]
mov rbx, rax
mov rdx, qword gs:[0x58]
mov edi, 4
mov rdx, qword [rdx + r8*8]
add rdi, rdx
mov edx, dword [rdi]
cmp dword [0x18039d510], edx
jle 0x180036fa4
lea rcx, [0x18039d510]
call fcn.180360f8c
cmp dword [0x18039d510], r13d
jne 0x180036fa4
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rcx, [0x18039d510]
mov qword [0x1803a15b8], rax
call fcn.180360f2c
mov eax, dword [rdi]
cmp dword [0x1803a1558], eax
jle 0x180036fdd
lea rcx, [0x1803a1558]
call fcn.180360f8c
cmp dword [0x1803a1558], r13d
jne 0x180036fdd
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1803a1558]
mov qword [0x1803a1560], rax
call fcn.180360f2c
mov rcx, rbx
call qword [0x1803a15b8]
mov rcx, rax
lea rdx, [rsp + 0x65]
call qword [0x1803a1560]
mov qword [0x18039c6f8], rax
jmp 0x180037000
xor r14d, r14d
mov qword [rsp + 0x30], 1
mov qword [rsp + 0x50], 0xf
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x50]
add rdx, rcx
mov qword [rsp + 0x30], rdx
lea rdx, [rbp + 8]
mov r8, qword [rsp + 0x30]
mov rcx, qword [rbp + 0x2f0]
call rax
mov rdi, qword [rbp + 0x2f0]
lea rcx, [rbp + 0x620]
mov qword [rbp + 0x418], rdi
lea rax, [rbp + 0x410]
mov dword [rbp + 0x410], 1
mov edx, 4
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rax, [rax + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx - 0x70], xmm1
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx - 0x60], xmm0
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx - 0x50], xmm1
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx - 0x40], xmm0
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx - 0x30], xmm1
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx - 0x20], xmm0
movups xmmword [rcx - 0x10], xmm1
sub rdx, 1
jne 0x180037061
mov rax, qword [rax]
lea r9, [rbp + 0x620]
mov qword [rcx], rax
lea r8, [rbp + 0x410]
lea rax, [rbp]
lea ecx, [rdi + 1]
mov qword [rsp + 0x20], rax
call fcn.180009ec0
cmp eax, 1
jne 0x180037110
mov rcx, qword [rbp + 0x2f0]
lea rdx, [rbp + 0x410]
call fcn.18000a030
mov rcx, qword [rbp + 0x2f0]
lea rdx, [rbp + 0x620]
test eax, eax
cmovne r13d, r14d
call fcn.18000a030
test eax, eax
cmovne r13d, r15d
movzx edx, byte [rbp + 0xc88]
lea rcx, [rbp + 0x2f0]
call fcn.18000b380
test r13d, r13d
mov r13, qword [rsp + 0xd40]
jne 0x180037bcb
lea rcx, [rbp + 0x80]
call fcn.180356ec0
lea rcx, [rbp + 0x80]
call fcn.180353870
xor eax, eax
mov word [rsp + 0x3b], 0xecec
mov byte [rsp + 0x3d], al
mov qword [rbp + 0xc88], r14
mov rax, qword [rbp + 0xc88]
cmp rax, 1
jae 0x1800371ae
nop dword [rax]
mov rcx, qword [rbp + 0xc88]
mov rax, qword [rbp + 0xc88]
sub cl, 0x3d
xor cl, byte [rsp + rax + 0x3c]
mov rax, qword [rbp + 0xc88]
mov byte [rsp + rax + 0x3c], cl
mov rax, qword [rbp + 0xc88]
inc rax
mov qword [rbp + 0xc88], rax
mov rax, qword [rbp + 0xc88]
cmp rax, 1
jb 0x180037170
lea rdx, [rsp + 0x3c]
mov byte [rsp + 0x3d], 0
lea rcx, [rbp + 0x140]
call fcn.180352060
lea rcx, [rbp + 0x60]
call fcn.180356ec0
lea rcx, [rbp + 0x60]
call fcn.180353870
mov rdx, qword [rbp + 0x48]
test rdx, rdx
je 0x1800371f8
mov r8, r15
inc r8
cmp byte [rdx + r8], 0
jne 0x1800371e2
lea rcx, [rbp + 0x140]
call fcn.180353890
cmp qword [rbp + 0x50], 0
je 0x1800372b3
xor eax, eax
mov word [rsp + 0x38], 0x86bc
mov byte [rsp + 0x3a], al
mov qword [rbp + 0xc88], r14
mov rax, qword [rbp + 0xc88]
cmp rax, 1
jae 0x18003726e
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [rbp + 0xc88]
mov rax, qword [rbp + 0xc88]
sub cl, 0x47
xor cl, byte [rsp + rax + 0x39]
mov rax, qword [rbp + 0xc88]
mov byte [rsp + rax + 0x39], cl
mov rax, qword [rbp + 0xc88]
inc rax
mov qword [rbp + 0xc88], rax
mov rax, qword [rbp + 0xc88]
cmp rax, 1
jb 0x180037230
mov byte [rsp + 0x3a], 0
lea rax, [rsp + 0x39]
mov r8, r15
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x180037280
lea rdx, [rsp + 0x39]
lea rcx, [rbp + 0x60]
call fcn.180353890
mov rdx, qword [rbp + 0x50]
mov r8, r15
nop
inc r8
cmp byte [rdx + r8], 0
jne 0x1800372a0
lea rcx, [rbp + 0x60]
call fcn.1803539e0
test r12, r12
je 0x180037578
cmp byte [r12], 0
mov ecx, r14d
je 0x180037578
nop word [rax + rax]
inc ecx
cmp byte [rcx + r12], 0
jne 0x1800372d0
test ecx, ecx
je 0x180037578
xor eax, eax
mov dword [rsp + 0x48], 0x585cb0
mov byte [rsp + 0x79], al
mov dword [rsp + 0x6d], 0x8994fbcb
mov dword [rsp + 0x71], 0xd0cf8f8a
mov dword [rsp + 0x75], 0xefe9d3cc
mov dword [rsp + 0x58], 0xabbbba73
mov word [rsp + 0x5c], 0x20
mov qword [rbp + 0xc88], r14
mov rax, qword [rbp + 0xc88]
cmp rax, 2
jae 0x18003736e
nop word [rax + rax]
mov rcx, qword [rbp + 0xc88]
mov rax, qword [rbp + 0xc88]
add cl, 0x51
xor cl, byte [rsp + rax + 0x49]
mov rax, qword [rbp + 0xc88]
mov byte [rsp + rax + 0x49], cl
mov rax, qword [rbp + 0xc88]
inc rax
mov qword [rbp + 0xc88], rax
mov rax, qword [rbp + 0xc88]
cmp rax, 2
jb 0x180037330
mov byte [rsp + 0x4b], 0
mov qword [rbp + 0xc88], r14
mov rax, qword [rbp + 0xc88]
cmp rax, 0xb
jae 0x1800373ce
nop word [rax + rax]
mov rcx, qword [rbp + 0xc88]
mov rax, qword [rbp + 0xc88]
sub cl, 0x25
xor cl, byte [rsp + rax + 0x6e]
mov rax, qword [rbp + 0xc88]
mov byte [rsp + rax + 0x6e], cl
mov rax, qword [rbp + 0xc88]
inc rax
mov qword [rbp + 0xc88], rax
mov rax, qword [rbp + 0xc88]
cmp rax, 0xb
jb 0x180037390
mov byte [rsp + 0x79], 0
mov qword [rbp + 0xc88], r14
mov rax, qword [rbp + 0xc88]
cmp rax, 4
jae 0x18003742e
nop word [rax + rax]
mov rcx, qword [rbp + 0xc88]
mov rax, qword [rbp + 0xc88]
sub cl, 3
xor cl, byte [rsp + rax + 0x59]
mov rax, qword [rbp + 0xc88]
mov byte [rsp + rax + 0x59], cl
mov rax, qword [rbp + 0xc88]
inc rax
mov qword [rbp + 0xc88], rax
mov rax, qword [rbp + 0xc88]
cmp rax, 4
jb 0x1800373f0
lea rdx, [rsp + 0x59]
mov byte [rsp + 0x5d], 0
lea rcx, [rbp + 0x2b0]
call fcn.180352060
lea rdx, [rbp + 0x140]
mov rcx, rax
call fcn.180351fa0
mov rdx, rax
lea rcx, [rbp + 0x1f0]
call fcn.180352010
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x1f0]
call fcn.180351fa0
mov rdx, rax
lea rcx, [rbp + 0x1d0]
call fcn.180352010
lea rax, [rsp + 0x6e]
mov r8, r15
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x180037490
lea rdx, [rsp + 0x6e]
lea rcx, [rbp + 0x1d0]
call fcn.1803539e0
mov rdx, rax
lea rcx, [rbp + 0x1b0]
call fcn.180352010
mov r8, r15
nop dword [rax]
inc r8
cmp byte [r12 + r8], 0
jne 0x1800374c0
mov rdx, r12
lea rcx, [rbp + 0x1b0]
call fcn.1803539e0
mov rdx, rax
lea rcx, [rbp + 0x190]
call fcn.180352010
lea rax, [rsp + 0x49]
nop dword [rax]
inc r15
cmp byte [rax + r15], 0
jne 0x1800374f0
mov r8, r15
lea rdx, [rsp + 0x49]
lea rcx, [rbp + 0x190]
call fcn.1803539e0
mov rdx, rax
lea rcx, [rbp + 0x170]
call fcn.180352010
lea rdx, [rbp + 0x170]
lea rcx, [rbp + 0x80]
call fcn.180351fc0
lea rcx, [rbp + 0x170]
call fcn.180353810
lea rcx, [rbp + 0x190]
call fcn.180353810
lea rcx, [rbp + 0x1b0]
call fcn.180353810
lea rcx, [rbp + 0x1d0]
call fcn.180353810
lea rcx, [rbp + 0x1f0]
call fcn.180353810
lea rcx, [rbp + 0x2b0]
jmp 0x1800378c5
movdqa xmm0, xmmword [0x18038fba0]
xor eax, eax
movdqa xmm1, xmmword [0x18038fa80]
movdqu xmmword [rbp + 0xa0], xmm0
mov byte [rbp - 0x56], al
movdqa xmm0, xmmword [0x18038f9c0]
movdqu xmmword [rbp + 0xc0], xmm0
mov dword [rbp + 0x130], 0x677e393d
movdqa xmm0, xmmword [0x18038f5d0]
movdqu xmmword [rbp + 0xe0], xmm0
mov dword [rbp + 0x134], 0x657b6360
movdqa xmm0, xmmword [0x18038f570]
movdqu xmmword [rbp + 0xb0], xmm1
mov dword [rbp + 0x138], 0x57535561
movdqa xmm1, xmmword [0x18038faf0]
movdqu xmmword [rbp + 0x100], xmm0
mov word [rbp + 0x13c], 0x51
movdqa xmm0, xmmword [0x18038f600]
movdqu xmmword [rbp + 0xd0], xmm1
mov word [rbp - 0x58], 0x485d
movdqa xmm1, xmmword [0x18038f610]
movdqu xmmword [rbp + 0x120], xmm0
mov dword [rsp + 0x5e], 0xeaf8fb77
movdqa xmm0, xmmword [0x18038f580]
movdqu xmmword [rbp + 0xf0], xmm1
mov word [rsp + 0x62], 0x9f
movdqa xmm1, xmmword [str.hURY_]
movdqu xmmword [rbp - 0x68], xmm0
movdqu xmmword [rbp + 0x110], xmm1
mov qword [rbp + 0xc88], r14
mov rax, qword [rbp + 0xc88]
cmp rax, 0x9c
jae 0x1800376b6
nop dword [rax]
mov rcx, qword [rbp + 0xc88]
mov rax, qword [rbp + 0xc88]
sub cl, 0x40
xor cl, byte [rbp + rax + 0xa1]
mov rax, qword [rbp + 0xc88]
mov byte [rbp + rax + 0xa1], cl
mov rax, qword [rbp + 0xc88]
inc rax
mov qword [rbp + 0xc88], rax
mov rax, qword [rbp + 0xc88]
cmp rax, 0x9c
jb 0x180037670
mov rdi, qword [rbp + 0x38]
mov byte [rbp + 0x13d], 0
mov qword [rbp + 0xc88], r14
mov rax, qword [rbp + 0xc88]
cmp rax, 0x11
jae 0x18003771e
nop word [rax + rax]
mov rcx, qword [rbp + 0xc88]
mov rax, qword [rbp + 0xc88]
add cl, 0x58
xor cl, byte [rbp + rax - 0x67]
mov rax, qword [rbp + 0xc88]
mov byte [rbp + rax - 0x67], cl
mov rax, qword [rbp + 0xc88]
inc rax
mov qword [rbp + 0xc88], rax
mov rax, qword [rbp + 0xc88]
cmp rax, 0x11
jb 0x1800376e0
mov byte [rbp - 0x56], 0
mov qword [rbp + 0xc88], r14
mov rax, qword [rbp + 0xc88]
cmp rax, 4
jae 0x18003777e
nop word [rax + rax]
mov rcx, qword [rbp + 0xc88]
mov rax, qword [rbp + 0xc88]
sub cl, 0x44
xor cl, byte [rsp + rax + 0x5f]
mov rax, qword [rbp + 0xc88]
mov byte [rsp + rax + 0x5f], cl
mov rax, qword [rbp + 0xc88]
inc rax
mov qword [rbp + 0xc88], rax
mov rax, qword [rbp + 0xc88]
cmp rax, 4
jb 0x180037740
lea rdx, [rsp + 0x5f]
mov byte [rsp + 0x63], 0
lea rcx, [rbp + 0x2d0]
call fcn.180352060
lea rdx, [rbp + 0x140]
mov rcx, rax
call fcn.180351fa0
mov rdx, rax
lea rcx, [rbp + 0x270]
call fcn.180352010
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x270]
call fcn.180351fa0
mov rdx, rax
lea rcx, [rbp + 0x290]
call fcn.180352010
lea rax, [rbp - 0x67]
mov r8, r15
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1800377e0
lea rdx, [rbp - 0x67]
lea rcx, [rbp + 0x290]
call fcn.1803539e0
mov rdx, rax
lea rcx, [rbp + 0x250]
call fcn.180352010
mov r8, r15
nop dword [rax]
inc r8
cmp byte [rdi + r8], 0
jne 0x180037810
mov rdx, rdi
lea rcx, [rbp + 0x250]
call fcn.1803539e0
mov rdx, rax
lea rcx, [rbp + 0x230]
call fcn.180352010
lea rax, [rbp + 0xa1]
nop
inc r15
cmp byte [rax + r15], 0
jne 0x180037840
mov r8, r15
lea rdx, [rbp + 0xa1]
lea rcx, [rbp + 0x230]
call fcn.1803539e0
mov rdx, rax
lea rcx, [rbp + 0x210]
call fcn.180352010
lea rdx, [rbp + 0x210]
lea rcx, [rbp + 0x80]
call fcn.180351fc0
lea rcx, [rbp + 0x210]
call fcn.180353810
lea rcx, [rbp + 0x230]
call fcn.180353810
lea rcx, [rbp + 0x250]
call fcn.180353810
lea rcx, [rbp + 0x290]
call fcn.180353810
lea rcx, [rbp + 0x270]
call fcn.180353810
lea rcx, [rbp + 0x2d0]
call fcn.180353810
lea rcx, [rbp + 0x80]
call fcn.180351da0
mov r8d, dword [rbp + 0x90]
lea rcx, [rbp + 0x2f0]
mov rdx, rax
call fcn.18000a900
mov dword [rsp + 0x30], 0x1f4
lea r8, [rbp - 0x50]
mov dword [rbp + 0xc88], 0x20c
xorps xmm0, xmm0
mov ecx, dword [rbp + 0xc88]
xorps xmm1, xmm1
mov eax, dword [rsp + 0x30]
add ecx, eax
mov dword [rbp + 0xc88], ecx
lea rcx, [rbp - 0x50]
mov edi, dword [rbp + 0xc88]
mov edx, edi
mov qword [rbp - 0x50], r14
mov qword [rbp - 0x48], r14
movdqa xmmword [rbp - 0x40], xmm0
movdqa xmmword [rbp - 0x30], xmm1
call fcn.1803566a0
lea eax, [rdi + 1]
mov edx, eax
lea r8, [rbp - 0x38]
lea rcx, [rbp - 0x38]
call fcn.1803566a0
xor al, al
lea rsi, [0x18038e6da]
mov ecx, r14d
mov byte [rbp - 0x1c], al
mov dword [rbp - 0x20], ecx
mov bl, 1
mov byte [rbp - 8], al
test al, al
je 0x18003797c
mov eax, dword [rbp - 0x10]
mov r8d, dword [rbp - 0xc]
mov edx, eax
add rdx, qword [rbp - 0x18]
sub r8d, eax
jmp 0x180037988
mov edx, ecx
mov r8d, 1
add rdx, qword [rbp - 0x50]
lea rcx, [rbp + 0x2f0]
call fcn.18000ac30
lea ecx, [rax + 1]
cmp ecx, 1
jbe 0x180037aaf
cmp byte [rbp - 0x1c], 0
je 0x1800379c1
mov ecx, dword [rbp - 0x10]
add ecx, eax
mov dword [rbp - 0x10], ecx
cmp ecx, dword [rbp - 0xc]
jne 0x1800379e0
mov byte [rbp - 0x1c], 0
mov dword [rbp - 0x20], r14d
mov byte [rbp - 8], 1
jmp 0x1800379e0
mov edx, dword [rbp - 0x20]
add edx, eax
mov rax, qword [rbp - 0x48]
sub rax, qword [rbp - 0x50]
mov ecx, edx
cmp rcx, rax
cmove edx, r14d
mov dword [rbp - 0x20], edx
nop word [rax + rax]
mov dword [rsp + 0x4c], 0x4c48f1
mov qword [rbp + 0xc88], r14
mov rax, qword [rbp + 0xc88]
cmp rax, 2
jae 0x180037a3e
nop dword [rax]
mov rcx, qword [rbp + 0xc88]
mov rax, qword [rbp + 0xc88]
add cl, 0x45
xor cl, byte [rsp + rax + 0x4d]
mov rax, qword [rbp + 0xc88]
mov byte [rsp + rax + 0x4d], cl
mov rax, qword [rbp + 0xc88]
inc rax
mov qword [rbp + 0xc88], rax
mov rax, qword [rbp + 0xc88]
cmp rax, 2
jb 0x180037a00
mov r8d, 2
mov byte [rsp + 0x4f], 0
lea rdx, [rsp + 0x4d]
lea rcx, [rbp - 0x50]
call fcn.18000b9a0
test al, al
je 0x180037a9f
mov rcx, qword [rbp - 0x38]
mov rdx, rsi
movzx edi, byte [rcx]
test dil, dil
jne 0x180037a8b
xor al, al
sub rcx, rsi
nop
movzx edi, al
test al, al
je 0x180037a8b
cmp byte [rdx], 0
je 0x180037a8b
movzx eax, byte [rdx + rcx + 1]
inc rdx
movzx edi, al
cmp al, byte [rdx]
je 0x180037a70
cmp dil, byte [rdx]
mov ecx, r14d
movzx eax, bl
cmovne ecx, eax
movzx ebx, cl
jmp 0x1800379e0
test bl, bl
je 0x180037aaf
movzx eax, byte [rbp - 0x1c]
mov ecx, dword [rbp - 0x20]
jmp 0x180037966
mov rbx, qword [rbp + 0xc70]
mov rcx, rbx
call fcn.180351900
mov qword [rsp + 0x30], 0x21d
lea rdx, [rbp + 0x830]
mov qword [rbp + 0xc88], 0x1e3
mov rcx, qword [rbp + 0xc88]
mov rax, qword [rsp + 0x30]
add rcx, rax
mov qword [rbp + 0xc88], rcx
lea rcx, [rbp + 0x2f0]
mov r8, qword [rbp + 0xc88]
call fcn.18000ac30
mov edi, eax
test eax, eax
jle 0x180037b98
nop dword [rax]
lea rdx, [rbp + 0x168]
mov rcx, rbx
call fcn.1803516b0
movsxd rcx, edi
lea rdx, [rbp + 0x830]
add rdx, rcx
lea r9, [rbp + 0x830]
mov qword [rsp + 0x20], rdx
mov rcx, rbx
mov r8, qword [rax]
lea rdx, [rbp + 0x160]
call fcn.180354840
mov qword [rsp + 0x30], 0x21d
lea rdx, [rbp + 0x830]
mov qword [rbp + 0xc88], 0x1e3
mov rcx, qword [rbp + 0xc88]
mov rax, qword [rsp + 0x30]
add rcx, rax
mov qword [rbp + 0xc88], rcx
lea rcx, [rbp + 0x2f0]
mov r8, qword [rbp + 0xc88]
call fcn.18000ac30
mov edi, eax
test eax, eax
jg 0x180037b10
lea rcx, [rbp - 0x38]
call fcn.180351b90
lea rcx, [rbp - 0x50]
call fcn.180351b90
lea rcx, [rbp + 0x60]
call fcn.180353810
lea rcx, [rbp + 0x140]
call fcn.180353810
lea rcx, [rbp + 0x80]
call fcn.180353810
mov r14, qword [rsp + 0xd38]
mov rsi, qword [rsp + 0xd48]
mov rbx, qword [rsp + 0xd78]
mov r15, qword [rsp + 0xd30]
mov rcx, qword [rbp + 0x20]
call fcn.180360d9c
mov rcx, qword [rbp + 0x28]
call fcn.180360d9c
mov rcx, qword [rbp + 0x30]
call fcn.180360d9c
mov rcx, qword [rbp + 0x38]
call fcn.180360d9c
mov rcx, qword [rbp + 0x48]
call fcn.180360d9c
mov rcx, qword [rbp + 0x50]
call fcn.180360d9c
mov rcx, qword [rbp + 0x58]
call fcn.180360d9c
lea rcx, [rbp + 0x2f0]
call fcn.18000a320
add rsp, 0xd50
pop r12
pop rdi
pop rbp
ret