Function at 0x140012580
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x448]
sub rsp, 0x548
mov rax, qword [0x14015a198]
xor rax, rsp
mov qword [rbp + 0x430], rax
mov r12, r9
mov qword [rbp - 0x30], r9
mov r15, r8
mov qword [rbp - 0x38], r8
mov r14, rdx
mov qword [rbp - 0x40], rdx
mov rbx, rcx
mov qword [rbp - 0x58], rcx
mov qword [rbp + 0x40], rcx
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x20], r8
mov qword [rbp + 0x28], r9
mov rdi, qword [rbp + 0x4b0]
mov qword [rsp + 0x78], rdi
mov qword [rbp + 0x30], rdi
mov word [rbp + 0x3a3], 0x6c
mov dword [rbp + 0x399], 0x656e7265
mov word [rbp + 0x39d], 0x336c
mov word [rbp + 0x3a0], 0x642e
mov byte [rbp + 0x3a2], 0x6c
mov byte [rbp + 0x39f], 0x32
mov byte [rbp + 0x398], 0x6b
mov word [rbp + 0x389], 0x6570
mov dword [rbp + 0x38e], 0x41786574
mov byte [rbp + 0x388], 0x4f
mov word [rbp + 0x38c], 0x754d
mov byte [rbp + 0x392], 0
mov byte [rbp + 0x38b], 0x6e
lea rcx, [rbp + 0x398]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, [rbp + 0x388]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp - 0x48], rax
test rax, rax
jne 0x140012702
mov rdx, qword [rbx]
sub rdx, 0x18
mov rsi, 0xffffffffffffffff
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400126a2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [r14]
sub rdx, 0x18
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400126bf
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [r15]
sub rdx, 0x18
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400126dc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [r12]
sub rdx, 0x18
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400126fa
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rdi]
jmp 0x140013172
call fcn.140036710
mov rcx, rax
test rax, rax
je 0x1400131c4
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x48], rax
mov word [rbp + 0x3df], 0x632d
mov dword [rbp + 0x3e3], 0x752d2073
mov dword [rbp + 0x3d5], 0x632d2073
mov word [rbp + 0x3e9], 0x253d
mov dword [rbp + 0x3ef], 0x2073253d
mov dword [rbp + 0x3f6], 0x64253d
mov word [rbp + 0x3dc], 0x7325
mov word [rbp + 0x3f3], 0x722d
mov byte [rbp + 0x3de], 0x20
mov word [rbp + 0x3d9], 0x6469
mov word [rbp + 0x3ec], 0x2d20
mov word [rbp + 0x3d0], 0x682d
mov byte [rbp + 0x3eb], 0x73
mov byte [rbp + 0x3f5], 0x6d
mov word [rbp + 0x3e1], 0x253d
mov word [rbp + 0x3d3], 0x2d20
mov word [rbp + 0x3e7], 0x6469
mov byte [rbp + 0x3d2], 0x73
mov byte [rbp + 0x3ee], 0x67
mov byte [rbp + 0x3db], 0x3d
mov eax, dword [rbp + 0x4c0]
mov dword [rsp + 0x30], eax
mov rax, qword [r14]
mov qword [rsp + 0x28], rax
mov rax, qword [rbx]
mov qword [rsp + 0x20], rax
mov r9, qword [r12]
mov r8, qword [r15]
lea rdx, [rbp + 0x3d0]
lea rcx, [rsp + 0x48]
call fcn.1400363e0
call fcn.140036710
mov rcx, rax
test rax, rax
je 0x1400131cf
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x60], rax
lea rdx, [0x140176fa9]
mov rsi, 0xffffffffffffffff
cmp rdx, 0x10000
jae 0x140012846
movzx edx, dx
lea rcx, [rsp + 0x60]
call fcn.140036ea0
jmp 0x140012867
mov rax, rsi
nop dword [rax]
inc rax
cmp byte [rdx + rax], 0
jne 0x140012850
mov r8d, eax
lea rcx, [rsp + 0x60]
call fcn.1400399e0
nop
xor r15d, r15d
mov r13d, r15d
mov dword [rsp + 0x68], r15d
lea rdi, [0x1401777b8]
mov ecx, 1
call fcn.14009b854
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x78], r15
call fcn.140036710
mov rcx, rax
test rax, rax
je 0x1400131b9
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x70], rax
mov dword [rbp + 0x416], 0x73253d64
mov word [rbp + 0x409], 0x2f73
mov dword [rbp + 0x421], 0x6526323d
mov dword [rbp + 0x411], 0x753f7068
mov word [rbp + 0x406], 0x2f2f
mov dword [rbp + 0x426], 0x64253d
mov word [rbp + 0x40c], 0x6f6c
mov word [rbp + 0x41c], 0x253d
mov dword [rbp + 0x401], 0x73707474
mov byte [rbp + 0x405], 0x3a
mov word [rbp + 0x41f], 0x7026
mov byte [rbp + 0x408], 0x25
mov byte [rbp + 0x415], 0x69
mov word [rbp + 0x40f], 0x702e
mov byte [rbp + 0x40e], 0x67
mov word [rbp + 0x41a], 0x6d26
mov byte [rbp + 0x425], 0x78
mov byte [rbp + 0x400], 0x68
mov byte [rbp + 0x41e], 0x73
mov byte [rbp + 0x40b], 0x69
lea rcx, [rbp - 0x18]
call fcn.1400369f0
nop
movzx ecx, byte [rbp + 0x4b8]
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x20], rdi
mov r9, qword [rbx]
mov r8, qword [rax]
lea rdx, [rbp + 0x400]
lea rcx, [rsp + 0x70]
call fcn.1400363e0
nop
mov rdx, qword [rbp - 0x18]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400129a3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov r14, qword [rsp + 0x70]
add r14, 0xffffffffffffffe8
mov qword [rbp - 0x20], r14
mov rcx, r14
call fcn.140035ce0
add rax, 0x18
mov qword [rbp - 0x68], rax
mov dword [rbp + 0x378], 0x6d697426
mov dword [rbp + 0x37d], 0x64253d
mov byte [rbp + 0x37c], 0x65
call fcn.1400253b0
mov r8d, eax
lea rdx, [rbp + 0x378]
lea rcx, [rbp - 0x68]
call fcn.140035900
mov rbx, qword [rbp - 0x68]
lea r12, [rbx - 0x18]
mov qword [rbp - 0x28], r12
mov rcx, r12
call fcn.140035ce0
add rax, 0x18
mov qword [rbp - 0x50], rax
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x80]
call fcn.140007e60
test al, al
je 0x140012e4c
cmp qword [rbp - 0x78], 0x40000
jb 0x140012fe5
lea rcx, [rbp + 0x70]
call fcn.140003320
nop
mov byte [rbp + 0x70], 0
mov word [rbp + 0x3ba], 0x6230
mov dword [rbp + 0x3b4], 0x31313134
mov dword [rbp + 0x3aa], 0x61343633
mov dword [rbp + 0x3ae], 0x63626237
mov word [rbp + 0x3c0], 0x3165
mov dword [rbp + 0x3c3], 0x65366135
mov word [rbp + 0x3bd], 0x3231
mov word [rbp + 0x3c7], 0x61
mov word [rbp + 0x3a8], 0x3961
mov word [rbp + 0x3b2], 0x6532
mov byte [rbp + 0x3bc], 0x35
mov word [rbp + 0x3b8], 0x3262
mov byte [rbp + 0x3bf], 0x37
mov byte [rbp + 0x3c2], 0x39
mov qword [rbp + 0x48], r15
mov qword [rbp + 0x58], r15
mov qword [rbp + 0x60], 0xf
mov byte [rbp + 0x48], 0
lea rax, [rbp + 0x3a8]
mov r8, rsi
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140012ae0
lea rdx, [rbp + 0x3a8]
lea rcx, [rbp + 0x48]
call fcn.14002e200
nop
mov qword [rbp - 8], r15
mov qword [rbp + 0x10], 0xf
mov qword [rbp + 8], r15
lea r8, [rbp - 8]
lea rdx, [rbp + 0x48]
lea rcx, [rbp + 0x70]
call fcn.140004770
nop
mov rdx, qword [rbp + 0x60]
cmp rdx, 0x10
jb 0x140012b58
inc rdx
mov rcx, qword [rbp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140012b53
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400131da
call fcn.140043b04
mov rcx, qword [rbp - 0x78]
call fcn.140043bcc
mov rdi, rax
mov dword [rsp + 0x50], r15d
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
mov r9, rdi
mov r8d, dword [rbp - 0x78]
mov rdx, qword [rbp - 0x80]
lea rcx, [rbp + 0x70]
call fcn.1400034b0
movzx ebx, al
mov rcx, qword [rbp - 0x80]
call fcn.1400811e4
test bl, bl
jne 0x140012bae
mov rcx, rdi
call fcn.140043b0c
nop
lea rcx, [rbp + 0x70]
call fcn.140034020
jmp 0x140012e60
movsxd rcx, dword [rsp + 0x50]
call fcn.140043bcc
mov r12, rax
movsxd r8, dword [rsp + 0x50]
mov rdx, rdi
mov rcx, rax
call fcn.1400715f0
mov rcx, rdi
call fcn.140043b0c
lea rcx, [rbp - 0x70]
call fcn.14000c0a0
nop
mov dword [rsp + 0x44], 0x312e36
lea rdx, [rsp + 0x44]
mov rcx, qword [rbp - 0x70]
call fcn.1400a3d20
mov r13d, r15d
test eax, eax
mov eax, 0xa
cmove r13d, eax
cmp dword [rbp + 0x4c0], 2
setne byte [rsp + 0x40]
cmp dword [rbp + 0x4c0], 3
setne byte [rsp + 0x41]
mov r14d, r15d
nop dword [rax]
xor r8d, r8d
lea rbx, [0x140176fa9]
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.1400399e0
call fcn.140036710
mov rcx, rax
test rax, rax
je 0x1400131eb
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x58], rax
lea rcx, [rsp + 0x58]
cmp rbx, 0x10000
jae 0x140012c6f
movzx edx, bx
call fcn.140036ea0
jmp 0x140012c7b
xor r8d, r8d
mov rdx, rbx
call fcn.1400399e0
nop
cmp r14d, 0x14
setge dil
mov rbx, qword [rsp + 0x48]
mov ecx, 1
mov eax, dword [rbx - 0xc]
sub ecx, dword [rbx - 8]
sub eax, 0x104
cmp r13d, 0xa
jge 0x140012cf1
or eax, ecx
jge 0x140012cb6
mov edx, 0x104
lea rcx, [rsp + 0x48]
call fcn.1400389d0
mov rbx, qword [rsp + 0x48]
movzx eax, byte [rsp + 0x40]
mov byte [rsp + 0x38], al
movzx eax, byte [rsp + 0x41]
mov byte [rsp + 0x30], al
mov byte [rsp + 0x28], dil
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x60]
mov r8, rbx
mov rax, qword [rsp + 0x78]
mov rdx, qword [rax]
mov rcx, r12
call fcn.14000f030
jmp 0x140012d42
or eax, ecx
jge 0x140012d09
mov edx, 0x104
lea rcx, [rsp + 0x48]
call fcn.1400389d0
mov rbx, qword [rsp + 0x48]
movzx eax, byte [rsp + 0x40]
mov byte [rsp + 0x38], al
movzx eax, byte [rsp + 0x41]
mov byte [rsp + 0x30], al
mov byte [rsp + 0x28], dil
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x60]
mov r8, rbx
mov rax, qword [rsp + 0x78]
mov rdx, qword [rax]
mov rcx, r12
call fcn.14000eba0
movzx edi, al
lea eax, [r13 + 1]
mov r13d, r15d
cmp eax, 0x14
cmovl r13d, eax
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
call fcn.1400a38cc
test eax, eax
js 0x1400131e0
cmp eax, dword [rbx - 0xc]
jg 0x1400131e0
mov dword [rbx - 0x10], eax
cdqe
mov byte [rax + rbx], 0
test dil, dil
jne 0x140012d8a
mov ecx, 0x1f4
call fcn.140028d10
jmp 0x140012de2
mov ebx, r15d
nop dword [rax]
lea rcx, [rbp - 0x10]
call fcn.140036900
nop
mov r8, qword [rax]
xor edx, edx
mov ecx, 0x100000
call qword [rbp - 0x48]
mov rdi, rax
mov rdx, qword [rbp - 0x10]
add rdx, 0xffffffffffffffe8
mov ecx, esi
lock xadd dword [rdx + 0x10], ecx
sub ecx, 1
jg 0x140012dc8
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [r8 + 8]
test rdi, rdi
jne 0x140012eb0
mov ecx, 0xc8
call fcn.140028d10
inc ebx
cmp ebx, 0xa
jl 0x140012d90
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140012e00
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
inc r14d
cmp r14d, 0x28
jl 0x140012c20
mov rcx, r12
call fcn.140043b0c
nop
mov rdx, qword [rbp - 0x70]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140012e34
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
lea rcx, [rbp + 0x70]
call fcn.140034020
mov r14, qword [rbp - 0x20]
mov r12, qword [rbp - 0x28]
mov r13d, dword [rsp + 0x68]
jmp 0x140012e55
mov rcx, qword [rbp - 0x80]
call fcn.1400811e4
mov ecx, 0xc8
call fcn.140028d10
nop
mov eax, esi
lock xadd dword [r12 + 0x10], eax
sub eax, 1
jg 0x140012e7c
mov rcx, qword [r12]
mov rax, qword [rcx]
mov rdx, r12
call qword [rax + 8]
nop
mov eax, esi
lock xadd dword [r14 + 0x10], eax
sub eax, 1
jg 0x140012e95
mov rcx, qword [r14]
mov rax, qword [rcx]
mov rdx, r14
call qword [rax + 8]
inc r13d
mov dword [rsp + 0x68], r13d
cmp r13d, 6
jge 0x140012f44
mov rbx, qword [rbp - 0x58]
jmp 0x140012872
mov rcx, rdi
call fcn.140023630
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140012ed7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, r12
call fcn.140043b0c
nop
mov rdx, qword [rbp - 0x70]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140012efe
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
lea rcx, [rbp + 0x70]
call fcn.140034020
nop
mov rdx, qword [rbp - 0x68]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140012f26
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140012f44
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov word [rbp + 0x364], 0x6c61
mov dword [rbp + 0x368], 0x736e4945
mov word [rbp + 0x375], 0x7865
mov word [rbp + 0x361], 0x6f6c
mov dword [rbp + 0x370], 0x754d7265
mov byte [rbp + 0x374], 0x74
mov dword [rbp + 0x36c], 0x6c6c6174
mov word [rbp + 0x366], 0x495c
mov byte [rbp + 0x377], 0
mov byte [rbp + 0x360], 0x47
mov byte [rbp + 0x363], 0x62
call fcn.140036710
mov rcx, rax
test rax, rax
je 0x1400131ae
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x60], rax
lea rax, [rbp + 0x360]
cmp rax, 0x10000
jae 0x140013026
lea rax, [rbp + 0x360]
movzx edx, ax
lea rcx, [rbp - 0x60]
call fcn.140036ea0
jmp 0x14001304d
lea rdx, [rbx - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140012fff
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400130a8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
jmp 0x1400130a8
lea rcx, [rbp + 0x360]
mov rax, rsi
inc rax
cmp byte [rcx + rax], 0
jne 0x140013030
mov r8d, eax
lea rdx, [rbp + 0x360]
lea rcx, [rbp - 0x60]
call fcn.1400399e0
nop
mov rbx, qword [rbp - 0x60]
mov r8, rbx
xor edx, edx
mov ecx, 0x100000
call qword [rbp - 0x48]
mov rdi, rax
lea rdx, [rbx - 0x18]
mov ecx, esi
lock xadd dword [rdx + 0x10], ecx
sub ecx, 1
jg 0x14001307b
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [r8 + 8]
test rdi, rdi
je 0x1400130a2
mov rcx, rdi
call fcn.140023630
mov ecx, 0xfa
call fcn.140028d10
inc r15d
cmp r15d, 0xf0
jl 0x140012f44
call fcn.140007220
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400130c7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400130e6
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
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140013107
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp - 0x40]
mov rdx, qword [rdx]
sub rdx, 0x18
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140013128
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
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140013149
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp - 0x30]
mov rdx, qword [rdx]
sub rdx, 0x18
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001316a
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 xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x140013189
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
xor al, al
mov rcx, qword [rbp + 0x430]
xor rcx, rsp
call fcn.140043aa0
add rsp, 0x548
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, 0x80004005
call fcn.140035ad0
int3
mov ecx, 0x80004005
call fcn.140035ad0
nop
mov ecx, 0x80004005
call fcn.140035ad0
nop
mov ecx, 0x80004005
call fcn.140035ad0
nop
call fcn.140080f48
nop
mov ecx, 0x80070057
call fcn.140035ad0
nop
mov ecx, 0x80004005
call fcn.140035ad0
int3