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

Disassembly:
mov qword [rsp + 0x20], rdi
push rbp
lea rbp, [rsp - 0x20]
sub rsp, 0x120
mov rax, qword [0x18001e048]
xor rax, rsp
mov qword [rbp + 0x18], rax
mov edi, r8d
mov r11d, edx
xor r8d, r8d
mov r10, rcx
mov qword [rbp + 0x10], r8
mov edx, r8d
mov dword [rsp + 0x38], 0x37
mov eax, dword [rsp + 0x38]
xor eax, 0x41
mov byte [rsp + 0x3c], al
mov eax, dword [rsp + 0x38]
inc al
xor eax, 0x64
mov byte [rsp + 0x3d], al
mov eax, dword [rsp + 0x38]
add al, 2
xor eax, 0x76
mov byte [rsp + 0x3e], al
mov eax, dword [rsp + 0x38]
add al, 3
xor eax, 0x61
mov byte [rsp + 0x3f], al
mov eax, dword [rsp + 0x38]
add al, 4
xor eax, 0x70
mov byte [rsp + 0x40], al
mov eax, dword [rsp + 0x38]
add al, 5
xor eax, 0x69
mov byte [rsp + 0x41], al
mov eax, dword [rsp + 0x38]
add al, 6
xor eax, 0x33
mov byte [rsp + 0x42], al
mov eax, dword [rsp + 0x38]
add al, 7
xor eax, 0x32
mov byte [rsp + 0x43], al
mov eax, dword [rsp + 0x38]
add al, 8
xor eax, 0x2e
mov byte [rsp + 0x44], al
mov eax, dword [rsp + 0x38]
add al, 9
xor eax, 0x64
mov byte [rsp + 0x45], al
mov eax, dword [rsp + 0x38]
add al, 0xa
xor eax, 0x6c
mov byte [rsp + 0x46], al
mov eax, dword [rsp + 0x38]
add al, 0xb
xor eax, 0x6c
mov byte [rsp + 0x47], al
xor eax, eax
mov byte [rsp + 0x48], al
movzx eax, byte [rsp + 0x3c]
movsx eax, byte [rsp + rdx + 0x3c]
mov ecx, dword [rsp + 0x38]
add cl, dl
xor ecx, eax
mov byte [rsp + rdx + 0x3c], cl
inc rdx
cmp rdx, 0xc
jb 0x180002430
mov byte [rsp + 0x48], r8b
xor eax, eax
mov dword [rbp - 8], 0x16
mov r9, r8
mov byte [rbp - 4], 0x5d
mov byte [rbp - 3], 0x73
mov byte [rbp - 2], 0x64
mov byte [rbp - 1], 0x78
mov byte [rbp], 0x73
mov byte [rbp + 1], 0x7a
mov byte [rbp + 2], 0x25
mov byte [rbp + 3], 0x24
mov byte [rbp + 4], 0x38
mov byte [rbp + 5], 0x72
mov byte [rbp + 6], 0x7a
mov byte [rbp + 7], 0x7a
mov byte [rbp + 8], al
movzx eax, byte [rbp - 4]
nop dword [rax]
nop word [rax + rax]
movsx edx, byte [rbp + r9 - 4]
mov eax, dword [rbp - 8]
movsx ecx, al
mov eax, edx
xor eax, ecx
mov byte [rbp + r9 - 4], al
inc r9
cmp r9, 0xc
jb 0x1800024a0
mov byte [rbp + 8], r8b
mov rdx, r8
mov byte [rbp - 0x48], 0x44
mov byte [rbp - 0x47], 0x5b
mov byte [rbp - 0x46], 0x6a
mov byte [rbp - 0x45], 0x57
mov byte [rbp - 0x44], 0x66
mov byte [rbp - 0x43], 0x5f
mov byte [rbp - 0x42], 0x29
mov byte [rbp - 0x41], 0x28
mov byte [rbp - 0x40], 0x24
mov byte [rbp - 0x3f], 0x5a
mov byte [rbp - 0x3e], 0x62
mov byte [rbp - 0x3d], 0x62
mov byte [rbp - 0x3c], r8b
movzx eax, byte [rbp - 0x48]
nop dword [rax]
movsx ecx, byte [rbp + rdx - 0x48]
add ecx, 0xa
mov byte [rbp + rdx - 0x48], cl
inc rdx
cmp rdx, 0xc
jb 0x180002500
mov dword [rsp + 0x50], 7
mov rdx, r8
mov eax, dword [rsp + 0x50]
xor eax, 0x49
mov byte [rsp + 0x54], al
mov eax, dword [rsp + 0x50]
inc al
xor eax, 0x70
mov byte [rsp + 0x55], al
mov eax, dword [rsp + 0x50]
add al, 2
xor eax, 0x68
mov byte [rsp + 0x56], al
mov eax, dword [rsp + 0x50]
add al, 3
xor eax, 0x6c
mov byte [rsp + 0x57], al
mov eax, dword [rsp + 0x50]
add al, 4
xor eax, 0x70
mov byte [rsp + 0x58], al
mov eax, dword [rsp + 0x50]
add al, 5
xor eax, 0x61
mov byte [rsp + 0x59], al
mov eax, dword [rsp + 0x50]
add al, 6
xor eax, 0x70
mov byte [rsp + 0x5a], al
mov eax, dword [rsp + 0x50]
add al, 7
xor eax, 0x69
mov byte [rsp + 0x5b], al
mov eax, dword [rsp + 0x50]
add al, 8
xor eax, 0x2e
mov byte [rsp + 0x5c], al
mov eax, dword [rsp + 0x50]
add al, 9
xor eax, 0x64
mov byte [rsp + 0x5d], al
mov eax, dword [rsp + 0x50]
add al, 0xa
xor eax, 0x6c
mov byte [rsp + 0x5e], al
mov eax, dword [rsp + 0x50]
add al, 0xb
xor eax, 0x6c
mov byte [rsp + 0x5f], al
xor eax, eax
mov byte [rsp + 0x60], al
movzx eax, byte [rsp + 0x54]
nop word [rax + rax]
movsx eax, byte [rsp + rdx + 0x54]
mov ecx, dword [rsp + 0x50]
add cl, dl
xor ecx, eax
mov byte [rsp + rdx + 0x54], cl
inc rdx
cmp rdx, 0xc
jb 0x1800025d0
mov byte [rsp + 0x60], r8b
mov rdx, r8
mov dword [rsp + 0x68], 0x6a
mov eax, dword [rsp + 0x68]
xor eax, 0x52
mov byte [rsp + 0x6c], al
mov eax, dword [rsp + 0x68]
inc al
xor eax, 0x73
mov byte [rsp + 0x6d], al
mov eax, dword [rsp + 0x68]
add al, 2
xor eax, 0x74
mov byte [rsp + 0x6e], al
mov eax, dword [rsp + 0x68]
add al, 3
xor eax, 0x72
mov byte [rsp + 0x6f], al
mov eax, dword [rsp + 0x68]
add al, 4
xor eax, 0x74
mov byte [rsp + 0x70], al
mov eax, dword [rsp + 0x68]
add al, 5
xor eax, 0x6d
mov byte [rsp + 0x71], al
mov eax, dword [rsp + 0x68]
add al, 6
xor eax, 0x67
mov byte [rsp + 0x72], al
mov eax, dword [rsp + 0x68]
add al, 7
xor eax, 0x72
mov byte [rsp + 0x73], al
mov eax, dword [rsp + 0x68]
add al, 8
xor eax, 0x2e
mov byte [rsp + 0x74], al
mov eax, dword [rsp + 0x68]
add al, 9
xor eax, 0x64
mov byte [rsp + 0x75], al
mov eax, dword [rsp + 0x68]
add al, 0xa
xor eax, 0x6c
mov byte [rsp + 0x76], al
mov eax, dword [rsp + 0x68]
add al, 0xb
xor eax, 0x6c
mov byte [rsp + 0x77], al
xor eax, eax
mov byte [rsp + 0x78], al
movzx eax, byte [rsp + 0x6c]
nop
movsx eax, byte [rsp + rdx + 0x6c]
mov ecx, dword [rsp + 0x68]
add cl, dl
xor ecx, eax
mov byte [rsp + rdx + 0x6c], cl
inc rdx
cmp rdx, 0xc
jb 0x1800026a0
mov byte [rsp + 0x78], r8b
mov rdx, r8
mov byte [rbp - 0x68], 0x80
mov byte [rbp - 0x67], 0x7c
mov byte [rbp - 0x66], 0x3b
mov byte [rbp - 0x65], 0x68
mov byte [rbp - 0x64], 0x3c
mov byte [rbp - 0x63], 0x3b
mov byte [rbp - 0x62], 0x37
mov byte [rbp - 0x61], 0x6d
mov byte [rbp - 0x60], 0x75
mov byte [rbp - 0x5f], 0x75
mov byte [rbp - 0x5e], r8b
movzx eax, byte [rbp - 0x68]
nop dword [rax]
nop word [rax + rax]
movsx ecx, byte [rbp + rdx - 0x68]
sub ecx, 9
mov byte [rbp + rdx - 0x68], cl
inc rdx
cmp rdx, 0xa
jb 0x180002700
mov dword [rbp - 0x28], 0x64
xor eax, eax
mov byte [rbp - 0x24], 0x31
mov r9, r8
mov byte [rbp - 0x23], 0x17
mov byte [rbp - 0x22], 1
mov byte [rbp - 0x21], 0x16
mov byte [rbp - 0x20], 0x57
mov byte [rbp - 0x1f], 0x56
mov byte [rbp - 0x1e], 0x4a
mov byte [rbp - 0x1d], r8b
mov byte [rbp - 0x1c], 8
mov byte [rbp - 0x1b], 8
mov byte [rbp - 0x1a], al
movzx eax, byte [rbp - 0x24]
movsx edx, byte [rbp + r9 - 0x24]
mov eax, dword [rbp - 0x28]
movsx ecx, al
mov eax, edx
xor eax, ecx
mov byte [rbp + r9 - 0x24], al
inc r9
cmp r9, 0xa
jb 0x180002750
mov byte [rbp - 0x1a], r8b
mov rdx, r8
mov byte [rbp - 0x58], 0x54
mov byte [rbp - 0x57], 0x69
mov byte [rbp - 0x56], 0x6d
mov byte [rbp - 0x55], 0x78
mov byte [rbp - 0x54], 0x62
mov byte [rbp - 0x53], 0x71
mov byte [rbp - 0x52], 0x6a
mov byte [rbp - 0x51], 0x2f
mov byte [rbp - 0x50], 0x65
mov byte [rbp - 0x4f], 0x6d
mov byte [rbp - 0x4e], 0x6d
mov byte [rbp - 0x4d], r8b
movzx eax, byte [rbp - 0x58]
nop dword [rax]
movsx ecx, byte [rbp + rdx - 0x58]
dec ecx
mov byte [rbp + rdx - 0x58], cl
inc rdx
cmp rdx, 0xb
jb 0x1800027b0
mov dword [rbp - 0x38], 0x55
xor eax, eax
mov byte [rbp - 0x34], 6
mov r9, r8
mov byte [rbp - 0x33], 0x3d
mov byte [rbp - 0x32], 0x30
mov byte [rbp - 0x31], 0x39
mov byte [rbp - 0x30], 0x39
mov byte [rbp - 0x2f], 0x66
mov byte [rbp - 0x2e], 0x67
mov byte [rbp - 0x2d], 0x7b
mov byte [rbp - 0x2c], 0x31
mov byte [rbp - 0x2b], 0x39
mov byte [rbp - 0x2a], 0x39
mov byte [rbp - 0x29], al
movzx eax, byte [rbp - 0x34]
nop dword [rax]
nop word [rax + rax]
movsx edx, byte [rbp + r9 - 0x34]
mov eax, dword [rbp - 0x38]
movsx ecx, al
mov eax, edx
xor eax, ecx
mov byte [rbp + r9 - 0x34], al
inc r9
cmp r9, 0xb
jb 0x180002810
mov byte [rbp - 0x29], r8b
xor eax, eax
mov dword [rbp - 0x18], 0xe
mov r9, r8
mov byte [rbp - 0x14], 0x41
mov byte [rbp - 0x13], 0x62
mov byte [rbp - 0x12], 0x6b
mov byte [rbp - 0x11], 0x3d
mov byte [rbp - 0x10], 0x3c
mov byte [rbp - 0xf], 0x20
mov byte [rbp - 0xe], 0x6a
mov byte [rbp - 0xd], 0x62
mov byte [rbp - 0xc], 0x62
mov byte [rbp - 0xb], al
movzx eax, byte [rbp - 0x14]
nop dword [rax]
movsx edx, byte [rbp + r9 - 0x14]
mov eax, dword [rbp - 0x18]
movsx ecx, al
mov eax, edx
xor eax, ecx
mov byte [rbp + r9 - 0x14], al
inc r9
cmp r9, 9
jb 0x180002870
mov byte [rbp - 0xb], r8b
mov rdx, r8
mov dword [rbp - 0x80], 0x1a
mov eax, dword [rbp - 0x80]
xor eax, 0x4f
mov byte [rbp - 0x7c], al
mov eax, dword [rbp - 0x80]
inc al
xor eax, 0x6c
mov byte [rbp - 0x7b], al
mov eax, dword [rbp - 0x80]
add al, 2
xor eax, 0x65
mov byte [rbp - 0x7a], al
mov eax, dword [rbp - 0x80]
add al, 3
xor eax, 0x41
mov byte [rbp - 0x79], al
mov eax, dword [rbp - 0x80]
add al, 4
xor eax, 0x75
mov byte [rbp - 0x78], al
mov eax, dword [rbp - 0x80]
add al, 5
xor eax, 0x74
mov byte [rbp - 0x77], al
mov eax, dword [rbp - 0x80]
add al, 6
xor eax, 0x33
mov byte [rbp - 0x76], al
mov eax, dword [rbp - 0x80]
add al, 7
xor eax, 0x32
mov byte [rbp - 0x75], al
mov eax, dword [rbp - 0x80]
add al, 8
xor eax, 0x2e
mov byte [rbp - 0x74], al
mov eax, dword [rbp - 0x80]
add al, 9
xor eax, 0x64
mov byte [rbp - 0x73], al
mov eax, dword [rbp - 0x80]
add al, 0xa
xor eax, 0x6c
mov byte [rbp - 0x72], al
mov eax, dword [rbp - 0x80]
add al, 0xb
xor eax, 0x6c
mov byte [rbp - 0x71], al
xor eax, eax
mov byte [rbp - 0x70], al
movzx eax, byte [rbp - 0x7c]
nop word [rax + rax]
movsx eax, byte [rbp + rdx - 0x7c]
mov ecx, dword [rbp - 0x80]
add cl, dl
xor ecx, eax
mov byte [rbp + rdx - 0x7c], cl
inc rdx
cmp rdx, 0xc
jb 0x180002930
mov byte [rbp - 0x70], r8b
mov dword [rsp + 0x28], 0x2f
mov eax, dword [rsp + 0x28]
xor eax, 0x6e
mov byte [rsp + 0x2c], al
mov eax, dword [rsp + 0x28]
inc al
xor eax, 0x74
mov byte [rsp + 0x2d], al
mov eax, dword [rsp + 0x28]
add al, 2
xor eax, 0x64
mov byte [rsp + 0x2e], al
mov eax, dword [rsp + 0x28]
add al, 3
xor eax, 0x6c
mov byte [rsp + 0x2f], al
mov eax, dword [rsp + 0x28]
add al, 4
xor eax, 0x6c
mov byte [rsp + 0x30], al
mov eax, dword [rsp + 0x28]
add al, 5
xor eax, 0x2e
mov byte [rsp + 0x31], al
mov eax, dword [rsp + 0x28]
add al, 6
xor eax, 0x64
mov byte [rsp + 0x32], al
mov eax, dword [rsp + 0x28]
add al, 7
xor eax, 0x6c
mov byte [rsp + 0x33], al
mov eax, dword [rsp + 0x28]
add al, 8
xor eax, 0x6c
mov byte [rsp + 0x34], al
xor eax, eax
mov byte [rsp + 0x35], al
movzx eax, byte [rsp + 0x2c]
nop dword [rax]
nop word [rax + rax]
movsx eax, byte [rsp + r8 + 0x2c]
mov ecx, dword [rsp + 0x28]
add cl, r8b
xor ecx, eax
mov byte [rsp + r8 + 0x2c], cl
inc r8
cmp r8, 9
jb 0x1800029e0
mov qword [rsp + 0x138], rbx
mov byte [rsp + 0x35], 0
test r10, r10
je 0x180002cf8
mov dword [rsp + 0x20], 0x69b7b6
mov eax, 0x55555556
mov ecx, dword [rsp + 0x20]
mov ebx, 2
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x180002a82
mov ecx, dword [rsp + 0x20]
add ecx, ebx
add ecx, r10d
mov dword [rsp + 0x20], ecx
mov eax, dword [rsp + 0x20]
and eax, 0x80000003
jge 0x180002a58
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
jne 0x180002af0
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
and eax, 0x80000003
jge 0x180002a7c
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
je 0x180002a60
jmp 0x180002af0
mov eax, dword [rsp + 0x20]
mov eax, dword [rsp + 0x20]
mov ecx, dword [rsp + 0x20]
lea eax, [r10 + 3]
add ecx, ebx
imul ecx, eax
mov dword [rsp + 0x20], ecx
mov eax, dword [rsp + 0x20]
and eax, 0x80000001
jge 0x180002aad
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x180002af0
mov ecx, dword [rsp + 0x20]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
mov eax, dword [rsp + 0x20]
je 0x180002ad4
dec eax
jmp 0x180002ad6
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
and eax, 0x80000001
jge 0x180002aec
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x180002ab1
mov rcx, r10
call qword [0x18001ea98]
mov r9, rax
mov dword [rsp + 0x20], 0x69b7b6
mov r8d, dword [rsp + 0x20]
mov eax, 0x55555556
imul r8d
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ecx, [rdx + rdx*2]
cmp r8d, ecx
je 0x180002b72
mov ecx, dword [rsp + 0x20]
add ecx, ebx
add ecx, r9d
mov dword [rsp + 0x20], ecx
mov eax, dword [rsp + 0x20]
and eax, 0x80000003
jge 0x180002b3f
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
jne 0x180002be0
nop word [rax + rax]
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
and eax, 0x80000003
jge 0x180002b6c
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
je 0x180002b50
jmp 0x180002be0
mov eax, dword [rsp + 0x20]
mov eax, dword [rsp + 0x20]
mov ecx, dword [rsp + 0x20]
lea eax, [r9 + 3]
add ecx, ebx
imul ecx, eax
mov dword [rsp + 0x20], ecx
mov eax, dword [rsp + 0x20]
and eax, 0x80000001
jge 0x180002b9d
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x180002be0
mov ecx, dword [rsp + 0x20]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
mov eax, dword [rsp + 0x20]
je 0x180002bc4
dec eax
jmp 0x180002bc6
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
and eax, 0x80000001
jge 0x180002bdc
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x180002ba1
test r9, r9
je case.default.0x180002d12
lea r8, [rbp + 0x10]
mov edx, edi
mov rcx, r9
call fcn.180001120
mov qword [rbp + 0x10], rax
mov eax, 0x55555556
mov dword [rsp + 0x20], 0x69b7b6
mov ecx, dword [rsp + 0x20]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x180002c79
mov ecx, dword [rsp + 0x20]
mov eax, dword [rbp + 0x10]
add eax, ebx
add ecx, eax
mov dword [rsp + 0x20], ecx
mov eax, dword [rsp + 0x20]
and eax, 0x80000003
jge 0x180002c3d
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
jne 0x180002cef
nop word [rax + rax]
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
and eax, 0x80000003
jge 0x180002c6c
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
je 0x180002c50
mov rax, qword [rbp + 0x10]
jmp 0x180002d7b
mov eax, dword [rsp + 0x20]
mov eax, dword [rsp + 0x20]
mov ecx, dword [rsp + 0x20]
mov eax, dword [rbp + 0x10]
add ecx, ebx
add eax, 3
imul eax, ecx
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
and eax, 0x80000001
jge 0x180002ca6
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x180002cef
nop word [rax + rax]
mov ecx, dword [rsp + 0x20]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
mov eax, dword [rsp + 0x20]
je 0x180002cd3
dec eax
jmp 0x180002cd5
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
and eax, 0x80000001
jge 0x180002ceb
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x180002cb0
mov rax, qword [rbp + 0x10]
jmp 0x180002d7b
lea eax, [r11 - 0xf]
cmp eax, 0xb
ja case.default.0x180002d12
lea rdx, [0x180000000]
mov ecx, dword [rdx + rax*4 + 0x2da0]
add rcx, rdx
jmp rcx
lea rcx, [rbp - 4]
jmp 0x180002d5e
lea rcx, [rsp + 0x3c]
jmp 0x180002d5e
lea rcx, [rbp - 0x48]
jmp 0x180002d5e
lea rcx, [rsp + 0x54]
jmp 0x180002d5e
lea rcx, [rsp + 0x6c]
jmp 0x180002d5e
lea rcx, [rbp - 0x24]
jmp 0x180002d5e
lea rcx, [rbp - 0x68]
jmp 0x180002d5e
lea rcx, [rbp - 0x58]
jmp 0x180002d5e
lea rcx, [rbp - 0x34]
jmp 0x180002d5e
lea rcx, [rbp - 0x14]
jmp 0x180002d5e
lea rcx, [rbp - 0x7c]
jmp 0x180002d5e
lea rcx, [rsp + 0x2c]
call qword [0x18001ea98]
test rax, rax
je case.default.0x180002d12
lea r8, [rbp + 0x10]
mov edx, edi
mov rcx, rax
call fcn.180001120
jmp 0x180002d7b
xor eax, eax
mov rbx, qword [rsp + 0x138]
mov rcx, qword [rbp + 0x18]
xor rcx, rsp
call fcn.1800064e0
mov rdi, qword [rsp + 0x148]
add rsp, 0x120
pop rbp
ret