Function at 0x140015010
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.140020800
add rax, 0x18
mov qword [rbp - 0x10], rax
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x68]
call fcn.140003c90
nop
call fcn.140021170
mov rdx, rax
xor r15d, r15d
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
jne 0x1400150d4
mov ecx, 0x80004005
call fcn.140020760
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.140020c90
call fcn.140021170
mov rdx, rax
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
jne 0x1400151e3
mov ecx, 0x80004005
call fcn.140020760
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x50], rax
lea rdi, [0x1401444f8]
test rdi, 0xffffffffffff0000
jne 0x140015228
movzx ebx, di
xor edx, edx
mov ecx, ebx
call fcn.1400205f0
test rax, rax
je 0x14001523a
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.140021f40
jmp 0x14001523a
xor r8d, r8d
mov rdx, rdi
lea rcx, [rsp + 0x50]
call fcn.1400229f0
jmp 0x14001523f
mov rbx, qword [rsp + 0x60]
mov r13d, r15d
mov dword [rsp + 0x58], r15d
or rsi, 0xffffffffffffffff
lea r12, str.9859c7210e6149fdbb75d97e9167a54d
mov ecx, 1
call fcn.14005a644
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x78], r15
call fcn.140021170
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
je 0x140015b1c
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0x70], rax
test r14b, r14b
je 0x140015375
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.140021250
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.140020c90
nop
mov rdx, qword [rbp - 8]
jmp 0x140015458
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.140021250
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.140020c90
nop
mov rdx, qword [rbp - 0x30]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001546c
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.140020800
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.14012f0b0
mov r8d, eax
lea rdx, [rbp + 0x360]
lea rcx, [rbp - 0x60]
call fcn.140020490
mov rbx, qword [rbp - 0x60]
lea r12, [rbx - 0x18]
mov qword [rbp - 0x40], r12
mov rcx, r12
call fcn.140020800
add rax, 0x18
mov qword [rbp - 0x18], rax
lea rdx, [rbp - 0x18]
lea rcx, [rbp - 0x80]
call fcn.14000ddd0
test al, al
je 0x140015911
cmp qword [rbp - 0x78], 0x40000
jb 0x140015a3d
lea rcx, [rbp + 0x70]
call fcn.140134b10
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 0x1400155b4
lea rdx, [rbp + 0x370]
lea rcx, [rbp + 0x50]
call fcn.14001a750
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.14001a750
lea r8, [rbp]
lea rdx, [rbp + 0x50]
lea rcx, [rbp + 0x70]
call fcn.14000f2a0
nop
cmp qword [rbp + 0x68], 0x10
jb 0x140015610
mov rcx, qword [rbp + 0x50]
call fcn.1400551d0
mov rcx, qword [rbp - 0x78]
call fcn.14002ae10
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.14012b920
movzx ebx, al
mov rcx, qword [rbp - 0x80]
call fcn.14005702c
test bl, bl
jne 0x140015666
mov rcx, rdi
call fcn.14005706c
nop
lea rcx, [rbp + 0x70]
call fcn.14001f660
jmp 0x140015934
movsxd rcx, dword [rsp + 0x5c]
call fcn.14002ae10
mov r13, rax
movsxd r8, dword [rsp + 0x5c]
mov rdx, rdi
mov rcx, rax
call fcn.140055580
mov rcx, rdi
call fcn.14005706c
lea rcx, [rbp - 0x70]
call fcn.14013da30
nop
mov dword [rsp + 0x44], 0x312e36
lea rdx, [rsp + 0x44]
mov rcx, qword [rbp - 0x70]
call fcn.14005959c
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, [0x1401444f8]
mov rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.1400229f0
mov rdx, rbx
lea rcx, [rsp + 0x68]
call fcn.14001ef30
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 0x14001576a
or eax, ecx
jge 0x140015738
mov edx, 0x104
lea rcx, [rsp + 0x48]
call fcn.1400222e0
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.14000cd60
jmp 0x1400157b2
or eax, ecx
jge 0x140015782
mov edx, 0x104
lea rcx, [rsp + 0x48]
call fcn.1400222e0
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.140134c60
inc r14d
movzx edi, al
cmp r14d, 0x14
cmovge r14d, r15d
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
call fcn.140059358
test eax, eax
js 0x140015a32
cmp eax, dword [rbx - 0xc]
jg 0x140015a32
mov dword [rbx - 0x10], eax
cdqe
mov byte [rax + rbx], 0
test dil, dil
jne 0x1400157f7
mov ecx, 0x1f4
call fcn.140012940
jmp 0x14001584b
mov ebx, r15d
nop word [rax + rax]
lea rcx, [rbp - 0x28]
call fcn.140021050
nop
mov r8, qword [rax]
xor edx, edx
mov ecx, 0x100000
call fcn.140127620
mov rdi, rax
mov rdx, qword [rbp - 0x28]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140015835
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [r8 + 8]
test rdi, rdi
jne 0x140015877
mov ecx, SHStripMneumonicA
call fcn.140012940
inc ebx
cmp ebx, 0xa
jl 0x140015800
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140015864
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
inc r12d
cmp r12d, 0x14
jge 0x14001589d
movzx edi, byte [rsp + 0x43]
jmp 0x1400156e0
mov rcx, rdi
call fcn.140012300
mov byte [rsp + 0x41], 1
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001589d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, r13
call fcn.14005706c
nop
mov rdx, qword [rbp - 0x70]
add rdx, 0xffffffffffffffe8
cmp byte [rsp + 0x41], 0
jne 0x140015988
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400158ca
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
cmp qword [rbp + 0x148], 0x10
jb 0x1400158e0
mov rcx, qword [rbp + 0x130]
call fcn.1400551d0
mov qword [rbp + 0x148], 0xf
mov qword [rbp + 0x140], r15
mov byte [rbp + 0x130], 0
cmp qword [rbp + 0x128], 0x10
jb 0x14001591c
mov rcx, qword [rbp + 0x110]
call fcn.1400551d0
jmp 0x14001591c
mov rcx, qword [rbp - 0x80]
call fcn.14005702c
jmp 0x140015929
mov r13d, dword [rsp + 0x58]
mov r12, qword [rbp - 0x40]
mov r14, qword [rbp - 0x48]
mov ecx, SHStripMneumonicA
call fcn.140012940
nop
lock add dword [r12 + 0x10], 0xffffffff
jg 0x14001594b
mov rcx, qword [r12]
mov rax, qword [rcx]
mov rdx, r12
call qword [rax + 8]
nop
lock add dword [r14 + 0x10], 0xffffffff
jg 0x14001595f
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 0x140015ab5
mov rbx, qword [rsp + 0x60]
movzx r14d, byte [rsp + 0x40]
lea rdi, [0x1401444f8]
jmp 0x14001524b
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140015999
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
cmp qword [rbp + 0x148], 0x10
jb 0x1400159af
mov rcx, qword [rbp + 0x130]
call fcn.1400551d0
mov qword [rbp + 0x148], 0xf
mov qword [rbp + 0x140], r15
mov byte [rbp + 0x130], 0
cmp qword [rbp + 0x128], 0x10
jb 0x1400159de
mov rcx, qword [rbp + 0x110]
call fcn.1400551d0
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 0x140015a10
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 0x140015ab5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
jmp 0x140015ab5
mov ecx, 0x80070057
call fcn.140020760
nop
lea rdx, [rbx - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140015a52
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 0x140015a6c
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 0x140015a86
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 0x140015aa0
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 0x140015b31
jmp 0x140015b27
lea rcx, [rbp - 0x20]
call fcn.140021050
nop
mov r8, qword [rax]
xor edx, edx
mov ecx, 0x100000
call fcn.140127620
mov rbx, rax
mov rdx, qword [rbp - 0x20]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140015aea
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [r8 + 8]
test rbx, rbx
je 0x140015b0d
mov rcx, rbx
call fcn.140012300
mov ecx, 0xfa
call fcn.140012940
inc r15d
cmp r15d, 0xf0
jl 0x140015ab5
movzx ecx, byte [rsp + 0x40]
call fcn.1400061c0
jmp 0x140015a6c
mov ecx, 0x80004005
call fcn.140020760
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 0x140015b4e
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 0x140015b6a
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 0x140015b86
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 0x140015ba2
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 0x140015bbe
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.140055550
add rsp, 0x538
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret