Function at 0x14003eca0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0x100
mov dword [rsp + 0x48], 0x7050302
mov r15, r9
mov dword [rsp + 0x4c], 0x13110d0b
mov rbx, r8
mov dword [rsp + 0x50], 0x251f1d17
mov rdi, rdx
mov dword [rsp + 0x54], 0x352f2b29
mov r14, rcx
mov dword [rsp + 0x58], 0x47433d3b
mov dword [rsp + 0x5c], 0x59534f49
mov dword [rsp + 0x60], 0x6b676561
mov dword [rbp - 0x7d], 0x837f716d
mov dword [rbp - 0x79], 0x97958b89
mov dword [rbp - 0x75], 0xada7a39d
mov dword [rbp - 0x71], 0xc1bfb5b3
mov dword [rbp - 0x6d], 0xdfd3c7c5
mov dword [rbp - 0x69], 0xefe9e5e3
mov word [rbp - 0x65], 0xfbf1
test r9, r9
je 0x14003f581
mov r12, qword [rbp + 0x7f]
test r12, r12
je 0x14003f581
cmp qword [r9 + 0x10], 0
jne 0x14003f581
cmp qword [r12 + 0x10], 0
jne 0x14003f581
xor edx, edx
call fcn.140024ab0
test eax, eax
jle 0x14003f581
mov esi, 1
mov rcx, rbx
mov edx, esi
call fcn.140024ab0
test eax, eax
jle 0x14003f581
mov rdx, r14
mov rcx, rbx
call fcn.1400249d0
test eax, eax
jns 0x14003f581
mov edx, esi
mov rcx, rdi
call fcn.140024ab0
test eax, eax
jle 0x14003f581
mov rdx, r14
mov rcx, rdi
call fcn.1400249d0
test eax, eax
jns 0x14003f581
mov qword [rsp + 0x148], r13
lea rcx, [rbp - 0x61]
xor r13d, r13d
mov dword [rsp + 0x30], esi
mov r8, rdi
mov qword [rsp + 0x38], r13
mov rdx, rbx
mov qword [rsp + 0x40], r13
mov qword [rbp - 0x59], r13
mov qword [rbp - 0x51], r13
mov dword [rbp - 0x61], esi
call fcn.140025bf0
mov ebx, eax
test eax, eax
jne 0x14003eed8
mov edi, dword [rbp - 0x61]
lea rax, [rbp - 0x41]
mov qword [rbp - 0x29], rax
lea rcx, [rbp - 0x61]
mov qword [rbp - 0x41], rsi
mov dword [rbp - 0x39], esi
mov qword [rbp - 0x31], rsi
test edi, edi
jle 0x14003ee5d
lea rdx, [rbp - 0x39]
call fcn.140024920
lea rcx, [rbp - 0x61]
test eax, eax
js 0x14003ee43
lea r8, [rbp - 0x39]
lea rdx, [rbp - 0x61]
call fcn.140024d90
mov ebx, eax
test eax, eax
jne 0x14003ee75
mov dword [rbp - 0x61], edi
jmp 0x14003ee79
lea r8, [rbp - 0x61]
lea rdx, [rbp - 0x39]
call fcn.140024d90
mov ebx, eax
test eax, eax
jne 0x14003ee75
neg edi
mov dword [rbp - 0x61], edi
jmp 0x14003ee79
lea r8, [rbp - 0x39]
lea rdx, [rbp - 0x61]
call fcn.140024bb0
mov ebx, eax
test eax, eax
jne 0x14003ee75
mov dword [rbp - 0x61], edi
jmp 0x14003ee79
test ebx, ebx
jne 0x14003eed8
mov rsi, r13
mov qword [rbp - 0x41], r13
mov rdx, r13
cmp qword [rbp - 0x59], r13
jbe 0x14003eec3
nop dword [rax]
mov rax, qword [rbp - 0x51]
mov rcx, r13
mov r8, qword [rax + rdx*8]
nop dword [rax + rax]
mov rax, r8
shr rax, cl
test al, 1
jne 0x14003eeca
inc rsi
inc rcx
mov qword [rbp - 0x41], rsi
cmp rcx, 0x40
jb 0x14003eea0
inc rdx
cmp rdx, qword [rbp - 0x59]
jb 0x14003ee90
mov rsi, r13
mov qword [rbp - 0x41], r13
test si, si
jne 0x14003ef60
mov ebx, 0xfffffffc
mov rdi, qword [rsp + 0x40]
mov r13, qword [rsp + 0x38]
test rdi, rdi
je 0x14003ef0f
lea r8, [r13*8]
test r8, r8
je 0x14003ef07
mov rax, qword [fcn.140065540]
xor edx, edx
mov rcx, rdi
call rax
mov rdi, qword [rsp + 0x40]
mov rcx, rdi
call fcn.14004f190
mov rcx, qword [rbp - 0x51]
xor eax, eax
mov r13, qword [rsp + 0x148]
mov dword [rsp + 0x30], 1
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rax
test rcx, rcx
je 0x14003ef59
mov rax, qword [rbp - 0x59]
lea r8, [rax*8]
test r8, r8
je 0x14003ef50
mov rax, qword [fcn.140065540]
xor edx, edx
call rax
mov rcx, qword [rbp - 0x51]
call fcn.14004f190
mov eax, ebx
jmp 0x14003f586
movzx edx, si
lea rcx, [rbp - 0x61]
call fcn.140024800
mov ebx, eax
test eax, eax
jne 0x14003eed8
mov rax, qword [r14 + 0x10]
mov rdi, qword [rsp + 0x40]
movzx ecx, byte [rax]
mov eax, r13d
mov r13, qword [rsp + 0x38]
and cl, 7
cmp cl, 1
sete al
mov dword [rbp - 0x49], eax
nop word [rax + rax]
movzx eax, ax
movzx ebx, byte [rsp + rax + 0x48]
cmp r13, 1
jae 0x14003f01e
mov r13d, 1
mov edx, 8
mov ecx, r13d
call fcn.14004fbcc
mov rdi, rax
test rax, rax
je 0x14003f043
mov rdx, qword [rsp + 0x40]
test rdx, rdx
je 0x14003f014
mov r8, qword [rsp + 0x38]
mov rcx, rax
lea r8, [r8*8]
call fcn.140065900
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x40]
lea r8, [rax*8]
test r8, r8
je 0x14003f00f
mov rax, qword [fcn.140065540]
xor edx, edx
call rax
mov rcx, qword [rsp + 0x40]
call fcn.14004f190
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x40], rdi
lea r8, [r13*8]
xor edx, edx
mov rcx, rdi
call fcn.140065540
mov rax, qword [rsp + 0x40]
mov r13d, 1
mov qword [rax], rbx
mov dword [rsp + 0x30], r13d
mov r8, r14
lea rdx, [rsp + 0x30]
mov rcx, r15
call fcn.140028790
mov ebx, eax
test eax, eax
jne 0x14003eed8
mov rdx, r13
mov rcx, r15
call fcn.140024ab0
test eax, eax
jne 0x14003f553
mov r9, r14
mov qword [rsp + 0x20], r12
lea r8, [rbp - 0x61]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x30]
call fcn.1400275c0
mov ebx, eax
test eax, eax
jne 0x14003eed8
mov r10d, 1
movzx r12d, r10w
cmp r10w, si
ja 0x14003f495
mov qword [rbp - 9], r10
nop dword [rax]
mov r13, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
mov rax, r13
test r13, r13
je 0x14003f0e0
lea rcx, [rdi - 8]
lea rcx, [rcx + r13*8]
nop word [rax + rax]
cmp qword [rcx], 0
jne 0x14003f0e0
sub rcx, 8
sub rax, 1
jne 0x14003f0d0
mov rcx, r10
lea rdx, [rbp - 9]
cmp qword [rdx], 0
jne 0x14003f0f7
sub rdx, 8
sub rcx, 1
jne 0x14003f0e7
mov r15d, dword [rsp + 0x30]
test rax, rax
jne 0x14003f14e
test rcx, rcx
je 0x14003f4a4
cmp rcx, rax
ja 0x14003f15e
test r15d, r15d
js 0x14003f15e
test rax, rax
je 0x14003f4a4
lea rdx, [rbp - 9]
mov r9, rdi
sub r9, rdx
lea rcx, [rbp + rax*8 - 0x11]
nop dword [rax]
mov rdx, qword [r9 + rcx]
cmp rdx, qword [rcx]
ja 0x14003f153
jb 0x14003f1e6
sub rcx, 8
sub rax, 1
jne 0x14003f130
jmp 0x14003f4a4
cmp rcx, rax
jae 0x14003f10d
mov eax, r15d
test eax, eax
je 0x14003f4a4
lea rax, [rbp - 1]
mov esi, 1
mov qword [rbp - 1], rsi
mov dword [rbp - 0x21], esi
mov qword [rbp - 0x19], rsi
mov qword [rbp - 0x11], rax
test r15d, r15d
jns 0x14003f34e
mov rax, r13
test r13, r13
je 0x14003f19f
lea rcx, [rdi - 8]
lea rcx, [rcx + r13*8]
nop
cmp qword [rcx], 0
jne 0x14003f19f
sub rcx, 8
sub rax, rsi
jne 0x14003f190
mov rcx, rsi
lea rdx, [rbp - 1]
cmp qword [rdx], 0
jne 0x14003f1b5
sub rdx, 8
sub rcx, rsi
jne 0x14003f1a6
test rax, rax
jne 0x14003f1f0
test rcx, rcx
jne 0x14003f1f5
lea r8, [rbp - 0x21]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x30]
call fcn.140024d90
mov ebx, eax
test eax, eax
jne 0x14003f36e
mov dword [rsp + 0x30], r15d
jmp 0x14003f376
mov eax, r15d
neg eax
jmp 0x14003f156
cmp rax, rcx
ja 0x14003f1bf
cmp rcx, rax
ja 0x14003f226
test rax, rax
je 0x14003f1bf
lea rcx, [rdi - 8]
lea r9, [rbp - 1]
lea rcx, [rcx + rax*8]
sub r9, rdi
nop
mov rdx, qword [r9 + rcx]
cmp qword [rcx], rdx
ja 0x14003f1bf
jb 0x14003f226
sub rcx, 8
sub rax, rsi
jne 0x14003f210
jmp 0x14003f1bf
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x21]
call fcn.140024920
test eax, eax
js 0x14003f55f
xor r14d, r14d
mov dword [rbp - 0x39], esi
xor esi, esi
mov qword [rbp - 0x31], r14
mov qword [rbp - 0x29], rsi
test rdi, rdi
je 0x14003f2c3
lea rax, [r13 - 1]
test rax, rax
je 0x14003f26c
nop word [rax + rax]
cmp qword [rdi + rax*8], rsi
jne 0x14003f26c
sub rax, 1
jne 0x14003f260
lea rdi, [rax + 1]
mov dword [rbp - 0x39], r15d
test rdi, rdi
je 0x14003f29d
mov rdx, rdi
lea rcx, [rbp - 0x39]
call fcn.140024000
mov rsi, qword [rbp - 0x29]
mov ebx, eax
mov r14, qword [rbp - 0x31]
test eax, eax
jne 0x14003f30c
lea rbx, [rdi*8]
jmp 0x14003f2b3
imul r8, rdi, 0xfffffffffffffff8
lea rbx, [rdi*8]
xor edx, edx
mov rcx, rbx
call fcn.140065540
mov rdx, qword [rsp + 0x40]
mov r8, rbx
mov rcx, rsi
call fcn.140065900
lea rdx, [rbp - 0x21]
lea rcx, [rsp + 0x30]
call fcn.1400240c0
mov ebx, eax
test eax, eax
jne 0x14003f30c
mov dword [rsp + 0x30], 1
mov rcx, r14
test r14, r14
je 0x14003f2ff
lea rax, [r14 - 1]
lea rax, [rsi + rax*8]
nop
cmp qword [rax], rbx
jne 0x14003f2ff
sub rax, 8
sub rcx, 1
jne 0x14003f2f0
mov r8, qword [rsp + 0x40]
mov rdx, rsi
call fcn.140024d00
test rsi, rsi
je 0x14003f338
lea r8, [r14*8]
test r8, r8
je 0x14003f330
mov rax, qword [fcn.140065540]
xor edx, edx
mov rcx, rsi
call rax
mov rsi, qword [rbp - 0x29]
mov rcx, rsi
call fcn.14004f190
mov r14, qword [rbp + 0x5f]
test ebx, ebx
jne 0x14003eed8
neg r15d
mov dword [rsp + 0x30], r15d
jmp 0x14003f376
lea r8, [rbp - 0x21]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x30]
call fcn.140024bb0
mov ebx, eax
test eax, eax
jne 0x14003f36e
mov dword [rsp + 0x30], r15d
jmp 0x14003f376
test ebx, ebx
jne 0x14003eed8
mov r15, qword [rbp + 0x77]
lea rdx, [rsp + 0x30]
mov rcx, r15
mov r8, r14
call fcn.140028790
mov ebx, eax
test eax, eax
jne 0x14003eed8
mov esi, 1
mov rcx, r15
mov edx, esi
call fcn.140024ab0
cmp eax, esi
jne 0x14003f3bb
mov rdx, r14
mov rcx, r15
call fcn.1400249d0
cmp eax, 0xffffffff
je 0x14003f569
mov edi, dword [rsp + 0x30]
lea rax, [rbp + 0xf]
mov qword [rbp - 0x11], rax
lea rcx, [rsp + 0x30]
mov qword [rbp + 0xf], rsi
mov dword [rbp - 0x21], esi
mov qword [rbp - 0x19], rsi
test edi, edi
jle 0x14003f423
lea rdx, [rbp - 0x21]
call fcn.140024920
lea rcx, [rsp + 0x30]
test eax, eax
js 0x14003f407
lea r8, [rbp - 0x21]
lea rdx, [rsp + 0x30]
call fcn.140024d90
mov ebx, eax
test eax, eax
jne 0x14003f43d
mov dword [rsp + 0x30], edi
jmp 0x14003f445
lea r8, [rsp + 0x30]
lea rdx, [rbp - 0x21]
call fcn.140024d90
mov ebx, eax
test eax, eax
jne 0x14003f43d
neg edi
mov dword [rsp + 0x30], edi
jmp 0x14003f445
lea r8, [rbp - 0x21]
lea rdx, [rsp + 0x30]
call fcn.140024bb0
mov ebx, eax
test eax, eax
jne 0x14003f43d
mov dword [rsp + 0x30], edi
jmp 0x14003f445
test ebx, ebx
jne 0x14003eed8
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x30]
call fcn.140025bf0
mov ebx, eax
test eax, eax
jne 0x14003eed8
mov r8, r14
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x30]
call fcn.140027290
mov ebx, eax
test eax, eax
jne 0x14003eed8
mov rsi, qword [rbp - 0x41]
lea r10d, [rax + 1]
inc r12w
cmp r12w, si
jbe 0x14003f0b0
mov rdi, qword [rsp + 0x40]
mov r13, qword [rsp + 0x38]
mov r15d, dword [rsp + 0x30]
mov qword [rbp + 7], r10
mov rax, r13
test r13, r13
je 0x14003f4c8
lea rcx, [r13 - 1]
lea rcx, [rdi + rcx*8]
cmp qword [rcx], 0
jne 0x14003f4c8
sub rcx, 8
sub rax, 1
jne 0x14003f4b8
mov rcx, r10
lea rdx, [rbp + 7]
nop
cmp qword [rdx], 0
jne 0x14003f4e0
sub rdx, 8
sub rcx, 1
jne 0x14003f4d0
test rax, rax
jne 0x14003f50f
test rcx, rcx
jne 0x14003f514
mov r12, qword [rbp + 0x7f]
mov r15, qword [rbp + 0x77]
mov eax, dword [rbp - 0x49]
inc ax
mov dword [rbp - 0x49], eax
cmp ax, 0x36
jb 0x14003efa0
mov ebx, 0xfffffffc
jmp 0x14003eee2
cmp rax, rcx
ja 0x14003f54c
cmp rcx, rax
ja 0x14003f505
test r15d, r15d
js 0x14003f505
test rax, rax
je 0x14003f4ea
lea rcx, [rax - 1]
lea r9, [rbp + 7]
lea rcx, [rdi + rcx*8]
sub r9, rdi
mov rdx, qword [r9 + rcx]
cmp qword [rcx], rdx
ja 0x14003f54c
jb 0x14003f549
sub rcx, 8
sub rax, 1
jne 0x14003f532
jmp 0x14003f4ea
neg r15d
test r15d, r15d
jne 0x14003f505
jmp 0x14003f4ea
mov rdi, qword [rsp + 0x40]
mov r13, qword [rsp + 0x38]
jmp 0x14003f4f2
mov ebx, 0xfffffff6
jmp 0x14003eee2
mov rcx, qword [rbp + 0x7f]
mov r9, r15
mov r8, r14
xor edx, edx
call fcn.140026060
mov ebx, eax
jmp 0x14003eed8
mov eax, 0xfffffffc
add rsp, 0x100
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret