Function at 0x14012c950
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 + 0x30], 0xfffffffffffffffe
mov rax, qword [0x140176220]
xor rax, rsp
mov qword [rbp + 0x428], 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 + 0x60], rcx
mov qword [rbp + 0x38], rcx
mov qword [rbp + 0x20], rdx
mov qword [rbp + 0x48], r8
mov qword [rbp + 0x40], r9
mov rdi, qword [rbp + 0x4a0]
mov qword [rsp + 0x78], rdi
mov qword [rbp + 0x28], rdi
movzx r14d, byte [rbp + 0x4b0]
mov byte [rsp + 0x40], r14b
mov rcx, qword [rdi]
sub rcx, 0x18
call fcn.14001d6a0
add rax, 0x18
mov qword [rbp - 0x10], rax
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x68]
call fcn.14013cf00
nop
call fcn.14001e010
mov rdx, rax
xor r15d, r15d
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
jne 0x14012ca14
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 dword [rbp + 0x41d], 0x64253d
mov dword [rbp + 0x403], 0x752d2073
mov dword [rbp + 0x408], 0x73253d64
mov dword [rbp + 0x413], 0x3d76622d
mov dword [rbp + 0x3f9], 0x253d6469
mov word [rbp + 0x3f7], 0x632d
mov dword [rbp + 0x3ff], 0x253d632d
mov dword [rbp + 0x3f0], 0x2073682d
mov dword [rbp + 0x40f], 0x2073253d
mov dword [rbp + 0x418], 0x722d2073
mov byte [rbp + 0x407], 0x69
mov word [rbp + 0x40c], 0x2d20
mov word [rbp + 0x3f4], 0x732d
mov word [rbp + 0x3fd], 0x2073
mov byte [rbp + 0x417], 0x25
mov byte [rbp + 0x3f6], 0x20
mov byte [rbp + 0x41c], 0x6d
mov byte [rbp + 0x40e], 0x67
mov eax, dword [rbp + 0x4a8]
mov dword [rsp + 0x38], eax
mov rax, qword [rbp - 0x68]
mov qword [rsp + 0x30], rax
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 0x14012cb23
mov ecx, 0x80004005
call fcn.14001d600
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x50], rax
lea rdi, [0x140144360]
test rdi, 0xffffffffffff0000
jne 0x14012cb68
movzx ebx, di
xor edx, edx
mov ecx, ebx
call fcn.14001d490
test rax, rax
je 0x14012cb7a
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.14001ede0
jmp 0x14012cb7a
xor r8d, r8d
mov rdx, rdi
lea rcx, [rsp + 0x50]
call fcn.14001f890
jmp 0x14012cb7f
mov rbx, qword [rsp + 0x60]
mov r13d, r15d
mov dword [rsp + 0x58], r15d
or rsi, 0xffffffffffffffff
lea r12, str.f7d3b0c12eda407e9c915e650de09a72
mov ecx, 1
call fcn.140057474
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x78], r15
call fcn.14001e010
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
je 0x14012d45c
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0x70], rax
test r14b, r14b
je 0x14012ccb5
mov dword [rbp + 0x3ca], 0x6f6c662f
mov dword [rbp + 0x3d7], 0x2673253d
mov word [rbp + 0x3c8], 0x7325
mov dword [rbp + 0x3e6], 0x64253d
mov word [rbp + 0x3db], 0x3d6d
mov dword [rbp + 0x3d1], 0x753f7068
mov word [rbp + 0x3e1], 0x323d
mov word [rbp + 0x3de], 0x2673
mov dword [rbp + 0x3c1], 0x73707474
mov word [rbp + 0x3ce], 0x2e67
mov byte [rbp + 0x3d0], 0x70
mov word [rbp + 0x3c5], 0x2f3a
mov byte [rbp + 0x3e0], 0x70
mov byte [rbp + 0x3dd], 0x25
mov word [rbp + 0x3e3], 0x6526
mov word [rbp + 0x3d5], 0x6469
mov byte [rbp + 0x3c7], 0x2f
mov byte [rbp + 0x3e5], 0x78
mov byte [rbp + 0x3c0], 0x68
movzx edx, r14b
lea rcx, [rbp - 8]
call fcn.14001e0f0
nop
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], r12
mov r9, qword [rbx]
mov r8, qword [rax]
lea rdx, [rbp + 0x3c0]
lea rcx, [rsp + 0x70]
call fcn.14001db30
nop
mov rdx, qword [rbp - 8]
jmp 0x14012cd98
mov word [rbp + 0x3a5], 0x676f
mov dword [rbp + 0x3b2], 0x2673253d
mov word [rbp + 0x39b], 0x7370
mov word [rbp + 0x3a1], 0x2f73
mov word [rbp + 0x3af], 0x2673
mov dword [rbp + 0x3b7], 0x6526323d
mov word [rbp + 0x398], 0x7468
mov dword [rbp + 0x3aa], 0x3d693f70
mov word [rbp + 0x3a8], 0x6870
mov word [rbp + 0x3bc], 0x6425
mov word [rbp + 0x39e], 0x2f2f
mov byte [rbp + 0x3bb], 0x3d
mov byte [rbp + 0x3b1], 0x70
mov byte [rbp + 0x39d], 0x3a
mov byte [rbp + 0x3b6], 0x78
mov byte [rbp + 0x3a0], 0x25
mov byte [rbp + 0x3ae], 0x25
mov word [rbp + 0x3a3], 0x6c66
mov byte [rbp + 0x3be], 0
mov byte [rbp + 0x39a], 0x74
mov byte [rbp + 0x3a7], 0x2e
xor edx, edx
lea rcx, [rbp - 0x30]
call fcn.14001e0f0
nop
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], r12
mov r9, qword [rbx]
mov r8, qword [rax]
lea rdx, [rbp + 0x398]
lea rcx, [rsp + 0x70]
call fcn.14001db30
nop
mov rdx, qword [rbp - 0x30]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14012cdac
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov r14, qword [rsp + 0x70]
add r14, 0xffffffffffffffe8
mov qword [rbp - 0x48], r14
mov rcx, r14
call fcn.14001d6a0
add rax, 0x18
mov qword [rbp - 0x60], rax
mov dword [rbp + 0x363], 0x253d656d
mov word [rbp + 0x361], 0x6974
mov byte [rbp + 0x360], 0x26
mov word [rbp + 0x367], 0x64
call fcn.14013fef0
mov r8d, eax
lea rdx, [rbp + 0x360]
lea rcx, [rbp - 0x60]
call fcn.14001d330
mov rbx, qword [rbp - 0x60]
lea r12, [rbx - 0x18]
mov qword [rbp - 0x40], r12
mov rcx, r12
call fcn.14001d6a0
add rax, 0x18
mov qword [rbp - 0x18], rax
lea rdx, [rbp - 0x18]
lea rcx, [rbp - 0x80]
call fcn.1401312a0
test al, al
je 0x14012d251
cmp qword [rbp - 0x78], 0x40000
jb 0x14012d37d
lea rcx, [rbp + 0x70]
call fcn.14012b880
nop
mov byte [rbp + 0x70], 0
mov word [rbp + 0x389], 0x3366
mov dword [rbp + 0x370], 0x37386164
mov word [rbp + 0x38c], 0x3637
mov word [rbp + 0x37a], 0x6134
mov dword [rbp + 0x385], 0x64396134
mov word [rbp + 0x377], 0x3836
mov word [rbp + 0x38f], 0x36
mov dword [rbp + 0x37f], 0x35336239
mov word [rbp + 0x374], 0x3965
mov word [rbp + 0x37d], 0x3566
mov byte [rbp + 0x379], 0x30
mov byte [rbp + 0x38b], 0x35
mov word [rbp + 0x383], 0x3231
mov byte [rbp + 0x38e], 0x33
mov byte [rbp + 0x376], 0x34
mov byte [rbp + 0x37c], 0x62
mov qword [rbp + 0x68], 0xf
mov qword [rbp + 0x60], r15
mov byte [rbp + 0x50], 0
lea rax, [rbp + 0x370]
mov r8, rsi
inc r8
cmp byte [rax + r8], 0
jne 0x14012cef4
lea rdx, [rbp + 0x370]
lea rcx, [rbp + 0x50]
call fcn.1400175f0
nop
mov qword [rbp + 0x18], 0xf
mov qword [rbp + 0x10], r15
mov byte [rbp], 0
xor r8d, r8d
mov rdx, rdi
lea rcx, [rbp]
call fcn.1400175f0
lea r8, [rbp]
lea rdx, [rbp + 0x50]
lea rcx, [rbp + 0x70]
call fcn.14000ed70
nop
cmp qword [rbp + 0x68], 0x10
jb 0x14012cf50
mov rcx, qword [rbp + 0x50]
call fcn.140052004
mov rcx, qword [rbp - 0x78]
call fcn.140027c44
mov rdi, rax
mov dword [rsp + 0x5c], r15d
lea rax, [rsp + 0x5c]
mov qword [rsp + 0x20], rax
mov r9, rdi
mov r8d, dword [rbp - 0x78]
mov rdx, qword [rbp - 0x80]
lea rcx, [rbp + 0x70]
call fcn.140007560
movzx ebx, al
mov rcx, qword [rbp - 0x80]
call fcn.140053e5c
test bl, bl
jne 0x14012cfa6
mov rcx, rdi
call fcn.140053e9c
nop
lea rcx, [rbp + 0x70]
call fcn.14001c500
jmp 0x14012d274
movsxd rcx, dword [rsp + 0x5c]
call fcn.140027c44
mov r13, rax
movsxd r8, dword [rsp + 0x5c]
mov rdx, rdi
mov rcx, rax
call fcn.1400523b0
mov rcx, rdi
call fcn.140053e9c
lea rcx, [rbp - 0x70]
call fcn.140132c80
nop
mov dword [rsp + 0x44], 0x312e36
lea rdx, [rsp + 0x44]
mov rcx, qword [rbp - 0x70]
call fcn.1400563cc
test eax, eax
sete al
neg al
sbb r14d, r14d
and r14d, 0xa
cmp dword [rbp + 0x4a8], 2
setne dil
mov byte [rsp + 0x43], dil
cmp dword [rbp + 0x4a8], 3
setne byte [rsp + 0x42]
mov byte [rsp + 0x41], 0
mov r12d, r15d
nop dword [rax]
xor r8d, r8d
lea rbx, [0x140144360]
mov rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.14001f890
mov rdx, rbx
lea rcx, [rsp + 0x68]
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 0x14012d0aa
or eax, ecx
jge 0x14012d078
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 + 0x68]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x50]
mov r8, rbx
mov rax, qword [rsp + 0x78]
mov rdx, qword [rax]
mov rcx, r13
call fcn.14012b9c0
jmp 0x14012d0f2
or eax, ecx
jge 0x14012d0c2
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 + 0x68]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x50]
mov r8, rbx
mov rax, qword [rsp + 0x78]
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 0x14012d372
cmp eax, dword [rbx - 0xc]
jg 0x14012d372
mov dword [rbx - 0x10], eax
cdqe
mov byte [rax + rbx], 0
test dil, dil
jne 0x14012d137
mov ecx, 0x1f4
call fcn.1401228c0
jmp 0x14012d18b
mov ebx, r15d
nop word [rax + rax]
lea rcx, [rbp - 0x28]
call fcn.14001def0
nop
mov r8, qword [rax]
xor edx, edx
mov ecx, 0x100000
call fcn.140002290
mov rdi, rax
mov rdx, qword [rbp - 0x28]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14012d175
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [r8 + 8]
test rdi, rdi
jne 0x14012d1b7
mov ecx, 0xc8
call fcn.1401228c0
inc ebx
cmp ebx, 0xa
jl 0x14012d140
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14012d1a4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
inc r12d
cmp r12d, 0x14
jge 0x14012d1dd
movzx edi, byte [rsp + 0x43]
jmp 0x14012d020
mov rcx, rdi
call fcn.140006bd0
mov byte [rsp + 0x41], 1
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14012d1dd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, r13
call fcn.140053e9c
nop
mov rdx, qword [rbp - 0x70]
add rdx, 0xffffffffffffffe8
cmp byte [rsp + 0x41], 0
jne 0x14012d2c8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14012d20a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
cmp qword [rbp + 0x148], 0x10
jb 0x14012d220
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 0x14012d25c
mov rcx, qword [rbp + 0x110]
call fcn.140052004
jmp 0x14012d25c
mov rcx, qword [rbp - 0x80]
call fcn.140053e5c
jmp 0x14012d269
mov r13d, dword [rsp + 0x58]
mov r12, qword [rbp - 0x40]
mov r14, qword [rbp - 0x48]
mov ecx, 0xc8
call fcn.1401228c0
nop
lock add dword [r12 + 0x10], 0xffffffff
jg 0x14012d28b
mov rcx, qword [r12]
mov rax, qword [rcx]
mov rdx, r12
call qword [rax + 8]
nop
lock add dword [r14 + 0x10], 0xffffffff
jg 0x14012d29f
mov rcx, qword [r14]
mov rax, qword [rcx]
mov rdx, r14
call qword [rax + 8]
inc r13d
mov dword [rsp + 0x58], r13d
cmp r13d, 6
jge 0x14012d3f5
mov rbx, qword [rsp + 0x60]
movzx r14d, byte [rsp + 0x40]
lea rdi, [0x140144360]
jmp 0x14012cb8b
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14012d2d9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
cmp qword [rbp + 0x148], 0x10
jb 0x14012d2ef
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 0x14012d31e
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 - 0x60]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14012d350
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14012d3f5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
jmp 0x14012d3f5
mov ecx, 0x80070057
call fcn.14001d600
nop
lea rdx, [rbx - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14012d392
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14012d3ac
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14012d3c6
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 0x14012d3e0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp - 0x68]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14012d471
jmp 0x14012d467
lea rcx, [rbp - 0x20]
call fcn.14001def0
nop
mov r8, qword [rax]
xor edx, edx
mov ecx, 0x100000
call fcn.140002290
mov rbx, rax
mov rdx, qword [rbp - 0x20]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14012d42a
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [r8 + 8]
test rbx, rbx
je 0x14012d44d
mov rcx, rbx
call fcn.140006bd0
mov ecx, 0xfa
call fcn.1401228c0
inc r15d
cmp r15d, 0xf0
jl 0x14012d3f5
movzx ecx, byte [rsp + 0x40]
call fcn.14000c920
jmp 0x14012d3ac
mov ecx, 0x80004005
call fcn.14001d600
nop
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x60]
mov rdx, qword [rdx]
sub rdx, 0x18
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14012d48e
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 0x14012d4aa
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 0x14012d4c6
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 0x14012d4e2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rax, qword [rsp + 0x78]
mov rdx, qword [rax]
sub rdx, 0x18
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14012d4fe
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
xor al, al
mov rcx, qword [rbp + 0x428]
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