Function at 0x409020
Capabilities:
Contain obfuscated stackstrings

Disassembly:
call qword [r15 + 0x10]
movsxd rax, eax
lea r9, [rsp + rax + 0x50]
mul rbx
shr rdx, 3
imul r8, rdx, 0xffffffffffffffe6
movsx r10d, byte [r8 + r9]
mov word [rbp + r12*2], r10w
inc r12
movsxd r11, dword [rsp + 0x78]
cmp r12, r11
jb 0x409009
mov r12, qword [rsp + 0x118]
xor eax, eax
movzx ebx, word [r13]
test ebx, ebx
je 0x409057
inc eax
movzx ebx, word [r13 + rax*2]
test ebx, ebx
jne 0x40904b
xor r8d, r8d
lea ebx, [rax - 1]
movzx r9d, word [r13 + rbx*2]
cmp r9d, 0x5c
je 0x40907c
mov eax, eax
mov ebx, 0x5c
mov r8d, 1
mov word [r13 + rax*2], bx
test rbp, rbp
je 0x40932d
add eax, r8d
xor ebx, ebx
movzx r8d, word [rbp]
test r8d, r8d
je 0x4090b4
movzx r9d, word [rbp + rbx*2]
mov r8d, ebx
inc rbx
add r8d, eax
mov word [r13 + r8*2], r9w
movzx r10d, word [rbp + rbx*2]
test r10d, r10d
jne 0x409094
add eax, ebx
xor r8d, r8d
mov word [r13 + rax*2], r8w
mov rcx, r13
xor edx, edx
call qword [rdi + 0x38]
mov ebx, dword [r12 + 0xac]
lea rcx, [rsp + 0x50]
mov edx, 0x20
xor ebx, dword [rcx + 0x20]
call fcn.00409343
mov dword [rsp + 0x7c], 0x10
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x7c]
call qword [r15 + 0x20]
mov dword [rsp + 0x7c], 0x105
lea rcx, [rsp + 0x50]
call fcn.00408383
mov r11d, eax
xor r10d, r10d
test r11d, r11d
jbe 0x409174
mov eax, r11d
xor r8d, r8d
mov r9d, dword [r12 + 0x104]
mov r12d, 1
shr eax, 1
je 0x40915a
imul r10d, r9d
lea r12d, [r8 + r8]
movsxd r12, r12d
inc r8d
movzx edx, word [rsp + r12*2 + 0x50]
add r10d, edx
imul r10d, r9d
movzx r12d, word [rsp + r12*2 + 0x52]
add r10d, r12d
cmp r8d, eax
jb 0x40912c
lea r12d, [r8 + r8 + 1]
lea eax, [r12 - 1]
cmp eax, r11d
jae 0x409174
imul r10d, r9d
movsxd r12, r12d
movzx eax, word [rsp + r12*2 + 0x4e]
add r10d, eax
xor ebx, r10d
mov ecx, ebx
call qword [r15 + 8]
lea rcx, [rsp + 0x50]
call fcn.00408383
mov r12d, eax
call qword [r15 + 0x10]
and eax, 0x80000007
jge 0x40919d
sub eax, 1
or eax, 0xfffffff8
inc eax
movdqu xmmword [rsp + 0x80], xmm6
lea r8d, [r12 + rax + 3]
mov dword [rsp + 0x7c], r8d
xor eax, eax
mov byte [rsp + 0x90], 0x51
mov byte [rsp + 0x91], 0x52
mov byte [rsp + 0x92], 0x53
mov byte [rsp + 0x93], 0x54
mov byte [rsp + 0x94], 0x55
mov byte [rsp + 0x95], 0x56
mov byte [rsp + 0x96], 0x57
mov byte [rsp + 0x97], 0x58
mov byte [rsp + 0x98], 0x59
mov byte [rsp + 0x99], 0x5a
test r8d, r8d
jbe 0x40924f
mov qword [rsp + 0x70], r13
movabs r12, 0x4ec4ec4ec4ec4ec5
mov r13, rax
call qword [r15 + 0x10]
movsxd rax, eax
lea r9, [rsp + rax + 0x80]
mul r12
shr rdx, 3
imul r8, rdx, 0xffffffffffffffe6
movsx r10d, byte [r8 + r9]
mov word [rsi + r13*2], r10w
inc r13
movsxd r11, dword [rsp + 0x7c]
cmp r13, r11
jb 0x409219
mov r13, qword [rsp + 0x70]
xor eax, eax
movzx r8d, word [r13]
test r8d, r8d
je 0x409268
inc eax
movzx r8d, word [r13 + rax*2]
test r8d, r8d
jne 0x40925b
xor r9d, r9d
lea r8d, [rax - 1]
movzx r10d, word [r13 + r8*2]
cmp r10d, 0x5c
je 0x40928f
mov eax, eax
mov r8d, 0x5c
mov r9d, 1
mov word [r13 + rax*2], r8w
test rsi, rsi
je 0x40930c
add eax, r9d
xor r8d, r8d
movzx r9d, word [rsi]
test r9d, r9d
je 0x4092c1
movzx r10d, word [rsi + r8*2]
mov r9d, r8d
inc r8
add r9d, eax
mov word [r13 + r9*2], r10w
movzx r11d, word [rsi + r8*2]
test r11d, r11d
jne 0x4092a3
mov rdx, qword [rsp + 0x110]
add eax, r8d
xor r9d, r9d
mov word [r13 + rax*2], r9w
mov dword [rdx], ebx
test r14, r14
je 0x4092e2
mov rcx, r14
call qword [rdi + 0x68]
mov rcx, rsi
call qword [rdi + 0x68]
test rbp, rbp
je 0x4092f3
mov rcx, rbp
call qword [rdi + 0x68]
movups xmm6, xmmword [rsp + 0x20]
add rsp, 0xa8
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov rdx, qword [rsp + 0x110]
inc eax
xor esi, esi
mov word [r13 + rax*2], si
mov dword [rdx], ebx
test r14, r14
je 0x4092e8
mov rcx, r14
call qword [rdi + 0x68]
jmp 0x4092e8
inc eax
xor ebx, ebx
mov word [r13 + rax*2], bx
jmp 0x4090bf