Function at 0x14012e1c0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x438]
sub rsp, 0x538
mov qword [rbp + 0x40], 0xfffffffffffffffe
mov rax, qword [0x140176220]
xor rax, rsp
mov qword [rbp + 0x420], rax
mov r13, r9
mov qword [rbp - 0x58], r9
mov r12, r8
mov qword [rbp - 0x50], r8
mov rsi, rdx
mov qword [rbp - 0x38], rdx
mov rbx, rcx
mov qword [rsp + 0x78], rcx
mov qword [rbp + 0x30], rcx
mov qword [rbp + 0x28], rdx
mov qword [rbp + 0x18], r8
mov qword [rbp + 0x38], r9
mov rdi, qword [rbp + 0x4a0]
mov qword [rbp - 0x80], rdi
mov qword [rbp + 0x20], rdi
movzx r14d, byte [rbp + 0x4b8]
mov byte [rsp + 0x41], r14b
call fcn.14001e010
mov rdx, rax
xor r15d, r15d
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
jne 0x14012e261
mov ecx, 0x80004005
call fcn.14001d600
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x48], rax
mov word [rbp + 0x3ff], 0x632d
mov dword [rbp + 0x403], 0x752d2073
mov dword [rbp + 0x3f5], 0x632d2073
mov word [rbp + 0x409], 0x253d
mov dword [rbp + 0x40f], 0x2073253d
mov dword [rbp + 0x416], 0x64253d
mov word [rbp + 0x3fc], 0x7325
mov word [rbp + 0x413], 0x722d
mov byte [rbp + 0x3fe], 0x20
mov word [rbp + 0x3f9], 0x6469
mov word [rbp + 0x40c], 0x2d20
mov word [rbp + 0x3f0], 0x682d
mov byte [rbp + 0x40b], 0x73
mov byte [rbp + 0x415], 0x6d
mov word [rbp + 0x401], 0x253d
mov word [rbp + 0x3f3], 0x2d20
mov word [rbp + 0x407], 0x6469
mov byte [rbp + 0x3f2], 0x73
mov byte [rbp + 0x40e], 0x67
mov byte [rbp + 0x3fb], 0x3d
mov eax, dword [rbp + 0x4b0]
mov dword [rsp + 0x30], eax
mov rax, qword [rsi]
mov qword [rsp + 0x28], rax
mov rax, qword [rbx]
mov qword [rsp + 0x20], rax
mov r9, qword [r13]
mov r8, qword [r12]
lea rdx, [rbp + 0x3f0]
lea rcx, [rsp + 0x48]
call fcn.14001db30
call fcn.14001e010
mov rdx, rax
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
jne 0x14012e372
mov ecx, 0x80004005
call fcn.14001d600
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x58], rax
lea rax, [0x140144360]
test rax, 0xffffffffffff0000
jne 0x14012e3b6
movzx ebx, ax
xor edx, edx
mov ecx, ebx
call fcn.14001d490
test rax, rax
je 0x14012e3c8
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.14001ede0
jmp 0x14012e3c8
xor r8d, r8d
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.14001f890
jmp 0x14012e3cd
mov rbx, qword [rsp + 0x78]
mov r13d, r15d
mov dword [rsp + 0x54], r15d
or rsi, 0xffffffffffffffff
movzx edi, byte [rbp + 0x4a8]
lea r12, str.f7d3b0c12eda407e9c915e650de09a72
mov ecx, 1
call fcn.140057474
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x70], r15
call fcn.14001e010
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
je 0x14012ec57
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0x68], rax
test r14b, r14b
je 0x14012e514
mov dword [rbp + 0x3d6], 0x73253d64
mov word [rbp + 0x3c9], 0x2f73
mov dword [rbp + 0x3e1], 0x6526323d
mov dword [rbp + 0x3d1], 0x753f7068
mov word [rbp + 0x3c6], 0x2f2f
mov dword [rbp + 0x3e6], 0x64253d
mov word [rbp + 0x3cc], 0x6f6c
mov word [rbp + 0x3dc], 0x253d
mov dword [rbp + 0x3c1], 0x73707474
mov byte [rbp + 0x3c5], 0x3a
mov word [rbp + 0x3df], 0x7026
mov byte [rbp + 0x3c8], 0x25
mov byte [rbp + 0x3d5], 0x69
mov word [rbp + 0x3cf], 0x702e
mov byte [rbp + 0x3ce], 0x67
mov word [rbp + 0x3da], 0x6d26
mov byte [rbp + 0x3e5], 0x78
mov byte [rbp + 0x3c0], 0x68
mov byte [rbp + 0x3de], 0x73
mov byte [rbp + 0x3cb], 0x69
movzx edx, r14b
lea rcx, [rbp - 0x18]
call fcn.14001e0f0
nop
mov ecx, r15d
test dil, dil
setne cl
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x20], r12
mov r9, qword [rbx]
mov r8, qword [rax]
lea rdx, [rbp + 0x3c0]
lea rcx, [rsp + 0x68]
call fcn.14001db30
nop
mov rdx, qword [rbp - 0x18]
jmp 0x14012e5cd
mov dword [rbp + 0x3a3], 0x676f6c69
mov dword [rbp + 0x398], 0x70747468
mov dword [rbp + 0x3af], 0x3d702673
mov dword [rbp + 0x3a9], 0x693f7068
mov dword [rbp + 0x39e], 0x73252f2f
mov word [rbp + 0x3b8], 0x2632
mov dword [rbp + 0x3ba], 0x64253d65
mov dword [rbp + 0x3b3], 0x78267325
mov word [rbp + 0x3a7], 0x702e
mov byte [rbp + 0x3be], 0
mov word [rbp + 0x39c], 0x3a73
mov word [rbp + 0x3ad], 0x253d
mov byte [rbp + 0x3a2], 0x2f
mov byte [rbp + 0x3b7], 0x3d
xor edx, edx
lea rcx, [rbp - 0x30]
call fcn.14001e0f0
nop
mov ecx, r15d
test dil, dil
setne cl
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x20], r12
mov r9, qword [rbx]
mov r8, qword [rax]
lea rdx, [rbp + 0x398]
lea rcx, [rsp + 0x68]
call fcn.14001db30
nop
mov rdx, qword [rbp - 0x30]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14012e5e1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov r14, qword [rsp + 0x68]
add r14, 0xffffffffffffffe8
mov qword [rbp - 0x48], r14
mov rcx, r14
call fcn.14001d6a0
add rax, 0x18
mov qword [rbp - 0x68], rax
mov dword [rbp + 0x365], 0x64253d
mov dword [rbp + 0x360], 0x6d697426
mov byte [rbp + 0x364], 0x65
call fcn.14013fef0
mov r8d, eax
lea rdx, [rbp + 0x360]
lea rcx, [rbp - 0x68]
call fcn.14001d330
mov rbx, qword [rbp - 0x68]
lea r12, [rbx - 0x18]
mov qword [rbp - 0x40], r12
mov rcx, r12
call fcn.14001d6a0
add rax, 0x18
mov qword [rbp - 0x20], rax
lea rdx, [rbp - 0x20]
lea rcx, [rbp - 0x78]
call fcn.1401312a0
test al, al
je 0x14012ea71
cmp qword [rbp - 0x70], 0x40000
jb 0x14012eb8f
lea rcx, [rbp + 0x70]
call fcn.14012b880
nop
mov byte [rbp + 0x70], 0
mov word [rbp + 0x382], 0x6230
mov dword [rbp + 0x37c], 0x31313134
mov dword [rbp + 0x372], 0x61343633
mov dword [rbp + 0x376], 0x63626237
mov word [rbp + 0x388], 0x3165
mov dword [rbp + 0x38b], 0x65366135
mov word [rbp + 0x385], 0x3231
mov word [rbp + 0x38f], 0x61
mov word [rbp + 0x370], 0x3961
mov word [rbp + 0x37a], 0x6532
mov byte [rbp + 0x384], 0x35
mov word [rbp + 0x380], 0x3262
mov byte [rbp + 0x387], 0x37
mov byte [rbp + 0x38a], 0x39
mov qword [rbp + 0x60], 0xf
mov qword [rbp + 0x58], r15
mov byte [rbp + 0x48], 0
lea rax, [rbp + 0x370]
mov r8, rsi
inc r8
cmp byte [rax + r8], 0
jne 0x14012e714
lea rdx, [rbp + 0x370]
lea rcx, [rbp + 0x48]
call fcn.1400175f0
nop
mov qword [rbp + 0x10], 0xf
mov qword [rbp + 8], r15
mov byte [rbp - 8], 0
xor r8d, r8d
lea rdx, [0x140144360]
lea rcx, [rbp - 8]
call fcn.1400175f0
lea r8, [rbp - 8]
lea rdx, [rbp + 0x48]
lea rcx, [rbp + 0x70]
call fcn.14000ed70
nop
cmp qword [rbp + 0x60], 0x10
jb 0x14012e774
mov rcx, qword [rbp + 0x48]
call fcn.140052004
mov rcx, qword [rbp - 0x70]
call fcn.140027c44
mov rdi, rax
mov dword [rsp + 0x60], r15d
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov r9, rdi
mov r8d, dword [rbp - 0x70]
mov rdx, qword [rbp - 0x78]
lea rcx, [rbp + 0x70]
call fcn.140007560
movzx ebx, al
mov rcx, qword [rbp - 0x78]
call fcn.140053e5c
test bl, bl
jne 0x14012e7ca
mov rcx, rdi
call fcn.140053e9c
nop
lea rcx, [rbp + 0x70]
call fcn.14001c500
jmp 0x14012ea94
movsxd rcx, dword [rsp + 0x60]
call fcn.140027c44
mov r13, rax
movsxd r8, dword [rsp + 0x60]
mov rdx, rdi
mov rcx, rax
call fcn.1400523b0
mov rcx, rdi
call fcn.140053e9c
lea rcx, [rbp - 0x60]
call fcn.140132c80
nop
mov dword [rsp + 0x50], 0x312e36
lea rdx, [rsp + 0x50]
mov rcx, qword [rbp - 0x60]
call fcn.1400563cc
test eax, eax
sete al
neg al
sbb r14d, r14d
and r14d, 0xa
cmp dword [rbp + 0x4b0], 2
setne dil
mov byte [rsp + 0x43], dil
cmp dword [rbp + 0x4b0], 3
setne byte [rsp + 0x42]
mov byte [rsp + 0x40], 0
mov r12d, r15d
xor r8d, r8d
lea rbx, [0x140144360]
mov rdx, rbx
lea rcx, [rsp + 0x58]
call fcn.14001f890
mov rdx, rbx
lea rcx, [rsp + 0x70]
call fcn.14001bdd0
nop
mov rbx, qword [rsp + 0x48]
mov ecx, 1
mov eax, dword [rbx - 0xc]
sub ecx, dword [rbx - 8]
sub eax, 0x104
cmp r14d, 0xa
jge 0x14012e8ca
or eax, ecx
jge 0x14012e899
mov edx, 0x104
lea rcx, [rsp + 0x48]
call fcn.14001f180
mov rbx, qword [rsp + 0x48]
mov byte [rsp + 0x30], dil
movzx eax, byte [rsp + 0x42]
mov byte [rsp + 0x28], al
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x58]
mov r8, rbx
mov rax, qword [rbp - 0x80]
mov rdx, qword [rax]
mov rcx, r13
call fcn.14012b9c0
jmp 0x14012e911
or eax, ecx
jge 0x14012e8e2
mov edx, 0x104
lea rcx, [rsp + 0x48]
call fcn.14001f180
mov rbx, qword [rsp + 0x48]
mov byte [rsp + 0x30], dil
movzx eax, byte [rsp + 0x42]
mov byte [rsp + 0x28], al
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x58]
mov r8, rbx
mov rax, qword [rbp - 0x80]
mov rdx, qword [rax]
mov rcx, r13
call fcn.14013bd00
inc r14d
movzx edi, al
cmp r14d, 0x14
cmovge r14d, r15d
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
call fcn.140056188
test eax, eax
js 0x14012eb84
cmp eax, dword [rbx - 0xc]
jg 0x14012eb84
mov dword [rbx - 0x10], eax
cdqe
mov byte [rax + rbx], 0
test dil, dil
jne 0x14012e956
mov ecx, 0x1f4
call fcn.1401228c0
jmp 0x14012e9ab
mov ebx, r15d
nop dword [rax]
lea rcx, [rbp - 0x10]
call fcn.14001df90
nop
mov r8, qword [rax]
xor edx, edx
mov ecx, 0x100000
call fcn.140002290
mov rdi, rax
mov rdx, qword [rbp - 0x10]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14012e995
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [r8 + 8]
test rdi, rdi
jne 0x14012e9d7
mov ecx, 0xc8
call fcn.1401228c0
inc ebx
cmp ebx, 0xa
jl 0x14012e960
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14012e9c4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
inc r12d
cmp r12d, 0x14
jge 0x14012e9fd
movzx edi, byte [rsp + 0x43]
jmp 0x14012e841
mov rcx, rdi
call fcn.140006bd0
mov byte [rsp + 0x40], 1
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14012e9fd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, r13
call fcn.140053e9c
nop
mov rdx, qword [rbp - 0x60]
add rdx, 0xffffffffffffffe8
cmp byte [rsp + 0x40], 0
jne 0x14012eae1
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14012ea2a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
cmp qword [rbp + 0x148], 0x10
jb 0x14012ea40
mov rcx, qword [rbp + 0x130]
call fcn.140052004
mov qword [rbp + 0x148], 0xf
mov qword [rbp + 0x140], r15
mov byte [rbp + 0x130], 0
cmp qword [rbp + 0x128], 0x10
jb 0x14012ea7c
mov rcx, qword [rbp + 0x110]
call fcn.140052004
jmp 0x14012ea7c
mov rcx, qword [rbp - 0x78]
call fcn.140053e5c
jmp 0x14012ea89
mov r13d, dword [rsp + 0x54]
mov r12, qword [rbp - 0x40]
mov r14, qword [rbp - 0x48]
mov ecx, 0xc8
call fcn.1401228c0
nop
lock add dword [r12 + 0x10], 0xffffffff
jg 0x14012eaab
mov rcx, qword [r12]
mov rax, qword [rcx]
mov rdx, r12
call qword [rax + 8]
nop
lock add dword [r14 + 0x10], 0xffffffff
jg 0x14012eabf
mov rcx, qword [r14]
mov rax, qword [rcx]
mov rdx, r14
call qword [rax + 8]
inc r13d
mov dword [rsp + 0x54], r13d
cmp r13d, 6
jge 0x14012ebf0
mov rbx, qword [rsp + 0x78]
movzx r14d, byte [rsp + 0x41]
jmp 0x14012e3d9
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14012eaf2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
cmp qword [rbp + 0x148], 0x10
jb 0x14012eb08
mov rcx, qword [rbp + 0x130]
call fcn.140052004
mov qword [rbp + 0x148], 0xf
mov qword [rbp + 0x140], r15
mov byte [rbp + 0x130], 0
cmp qword [rbp + 0x128], 0x10
jb 0x14012eb37
mov rcx, qword [rbp + 0x110]
call fcn.140052004
mov qword [rbp + 0x128], 0xf
mov qword [rbp + 0x120], r15
mov byte [rbp + 0x110], 0
mov rdx, qword [rbp - 0x68]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14012eb69
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14012ebf0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
jmp 0x14012ebf0
mov ecx, 0x80070057
call fcn.14001d600
nop
lea rdx, [rbx - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14012eba4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14012ebbe
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14012ebd8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14012ec6c
jmp 0x14012ec62
lea rcx, [rbp - 0x28]
call fcn.14001df90
nop
mov r8, qword [rax]
xor edx, edx
mov ecx, 0x100000
call fcn.140002290
mov rbx, rax
mov rdx, qword [rbp - 0x28]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14012ec25
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [r8 + 8]
test rbx, rbx
je 0x14012ec48
mov rcx, rbx
call fcn.140006bd0
mov ecx, 0xfa
call fcn.1401228c0
inc r15d
cmp r15d, 0xf0
jl 0x14012ebf0
movzx ecx, byte [rsp + 0x41]
call fcn.1400038c0
jmp 0x14012ebbe
mov ecx, 0x80004005
call fcn.14001d600
nop
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x78]
mov rdx, qword [rdx]
sub rdx, 0x18
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14012ec89
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp - 0x38]
mov rdx, qword [rdx]
sub rdx, 0x18
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14012eca5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp - 0x50]
mov rdx, qword [rdx]
sub rdx, 0x18
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14012ecc1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp - 0x58]
mov rdx, qword [rdx]
sub rdx, 0x18
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14012ecdd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rax, qword [rbp - 0x80]
mov rdx, qword [rax]
sub rdx, 0x18
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14012ecf8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
xor al, al
mov rcx, qword [rbp + 0x420]
xor rcx, rsp
call fcn.140052380
add rsp, 0x538
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret