Function at 0x1401658a0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x918
pxor xmm0, xmm0
mov ebx, dword [rcx]
movzx edi, bl
mov qword [rsp + 0x960], rcx
mov dword [rsp + 0xd0], 0
mov qword [rsp + 0x1c0], 0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xc0], xmm0
movaps xmmword [rsp + 0x180], xmm0
movaps xmmword [rsp + 0x190], xmm0
movaps xmmword [rsp + 0x1a0], xmm0
movaps xmmword [rsp + 0x1b0], xmm0
cmp bl, 0x10
ja 0x1401662a1
lea rax, [rsp + 0x88]
mov qword [rsp + 0x30], r8
lea rsi, [rsp + 0x1d0]
mov qword [rsp + 0x28], rdx
mov rcx, rsi
lea r9, [rsp + 0x8c]
lea r8, [rsp + 0x90]
mov qword [rsp + 0x20], rax
mov edx, 0x100
call fcn.140166620
mov rbp, rax
cmp rax, 0xffffffffffffff88
ja 0x14016628a
mov r8d, dword [rsp + 0x88]
cmp edi, r8d
jb 0x1401662a1
mov eax, r8d
lea r13d, [r8 + 1]
mov r10d, dword [rsp + rax*4 + 0x90]
test r10d, r10d
jne 0x1401665ae
lea eax, [r8 - 1]
mov r9d, dword [rsp + rax*4 + 0x90]
mov rdx, rax
test r9d, r9d
jne 0x1401665f3
lea ecx, [r8 - 2]
mov rax, rcx
mov ecx, dword [rsp + rcx*4 + 0x90]
test ecx, ecx
jne 0x14016659a
lea edx, [r8 - 3]
mov r15d, dword [rsp + rdx*4 + 0x90]
mov rcx, rdx
test r15d, r15d
jne 0x1401665ec
lea eax, [r8 - 4]
mov r14d, dword [rsp + rax*4 + 0x90]
mov rdx, rax
test r14d, r14d
jne 0x1401665a7
lea ecx, [r8 - 5]
mov r12d, dword [rsp + rcx*4 + 0x90]
mov rax, rcx
test r12d, r12d
jne 0x14016659a
lea ecx, [r8 - 6]
mov r11d, dword [rsp + rcx*4 + 0x90]
mov rdx, rcx
test r11d, r11d
jne 0x140165b0c
lea ecx, [r8 - 7]
mov r10d, dword [rsp + rcx*4 + 0x90]
mov rax, rcx
test r10d, r10d
jne 0x14016659a
lea ecx, [r8 - 8]
mov r9d, dword [rsp + rcx*4 + 0x90]
mov rdx, rcx
test r9d, r9d
jne 0x140165b0c
lea ecx, [r8 - 9]
mov rax, rcx
mov ecx, dword [rsp + rcx*4 + 0x90]
test ecx, ecx
jne 0x14016659a
lea ecx, [r8 - 0xa]
mov r15d, dword [rsp + rcx*4 + 0x90]
mov rdx, rcx
test r15d, r15d
jne 0x140165b0c
lea ecx, [r8 - 0xb]
mov r14d, dword [rsp + rcx*4 + 0x90]
mov rax, rcx
test r14d, r14d
jne 0x14016659a
lea ecx, [r8 - 0xc]
mov r12d, dword [rsp + rcx*4 + 0x90]
mov rdx, rcx
test r12d, r12d
jne 0x140165b0c
lea ecx, [r8 - 0xd]
mov r11d, dword [rsp + rcx*4 + 0x90]
mov rax, rcx
test r11d, r11d
jne 0x14016659a
lea ecx, [r8 - 0xe]
mov r10d, dword [rsp + rcx*4 + 0x90]
mov rdx, rcx
test r10d, r10d
jne 0x140165b0c
lea eax, [r8 - 0xf]
mov r9d, dword [rsp + rax*4 + 0x90]
mov rcx, rax
test r9d, r9d
jne 0x1401665ea
lea edx, [r8 - 0x10]
mov rax, rdx
mov edx, dword [rsp + rdx*4 + 0x90]
test edx, edx
jne 0x1401665a5
lea edx, [r8 - 0x11]
mov ecx, r13d
sub ecx, edx
mov dword [rsp + 0x48], ecx
mov ecx, edi
sub ecx, r8d
lea r9d, [rcx + rdx]
cmp eax, 1
jbe 0x1401665c1
mov r11d, dword [rsp + 0x94]
mov dword [rsp + 0x44], r11d
cmp eax, 2
je 0x140165cc1
mov edx, dword [rsp + 0x98]
mov dword [rsp + 0x18c], r11d
add edx, r11d
cmp eax, 3
je 0x140166591
mov ecx, dword [rsp + 0x9c]
mov dword [rsp + 0x190], edx
add ecx, edx
mov dword [rsp + 0x44], ecx
cmp eax, 4
je 0x140165cc1
mov edx, dword [rsp + 0xa0]
mov dword [rsp + 0x194], ecx
add edx, ecx
cmp eax, 5
je 0x140166591
mov ecx, dword [rsp + 0xa4]
mov dword [rsp + 0x198], edx
add ecx, edx
mov dword [rsp + 0x44], ecx
cmp eax, 6
je 0x140165cc1
mov edx, dword [rsp + 0xa8]
mov dword [rsp + 0x19c], ecx
add edx, ecx
cmp eax, 7
je 0x140166591
mov ecx, dword [rsp + 0xac]
mov dword [rsp + 0x1a0], edx
add ecx, edx
mov dword [rsp + 0x44], ecx
cmp eax, 8
je 0x140165cc1
mov edx, dword [rsp + 0xb0]
mov dword [rsp + 0x1a4], ecx
add edx, ecx
cmp eax, 9
je 0x140166591
mov ecx, dword [rsp + 0xb4]
mov dword [rsp + 0x1a8], edx
add ecx, edx
mov dword [rsp + 0x44], ecx
cmp eax, 0xa
je 0x140165cc1
mov edx, dword [rsp + 0xb8]
mov dword [rsp + 0x1ac], ecx
add edx, ecx
cmp eax, 0xb
je 0x140166591
mov ecx, dword [rsp + 0xbc]
mov dword [rsp + 0x1b0], edx
add ecx, edx
mov dword [rsp + 0x44], ecx
cmp eax, 0xc
je 0x140165cc1
mov edx, dword [rsp + 0xc0]
mov dword [rsp + 0x1b4], ecx
add edx, ecx
cmp eax, 0xd
je 0x140166591
mov ecx, dword [rsp + 0xc4]
mov dword [rsp + 0x1b8], edx
add ecx, edx
mov dword [rsp + 0x44], ecx
cmp eax, 0xe
je 0x140165cc1
mov edx, ecx
add ecx, dword [rsp + 0xc8]
mov dword [rsp + 0x1bc], edx
cmp eax, 0xf
je 0x140166610
mov edx, dword [rsp + 0xcc]
mov dword [rsp + 0x1c0], ecx
add edx, ecx
cmp eax, 0x10
je 0x140166591
mov ecx, dword [rsp + 0xd0]
mov dword [rsp + 0x1c4], edx
add ecx, edx
mov dword [rsp + 0x44], ecx
mov edx, dword [rsp + 0x44]
mov r10d, dword [rsp + 0x8c]
mov dword [rsp + 0x184], edx
test r10d, r10d
je 0x1401665fb
mov dword [rsp + 0x4c], r8d
xor edx, edx
mov r14d, eax
lea r11, [rsp + 0x184]
mov dword [rsp + 0x50], ebx
lea r15, [rsp + 0x2d0]
nop dword [rax + rax]
movzx ecx, byte [rsi + rdx]
movzx ebx, dl
add rdx, 1
lea r8, [r11 + rcx*4]
mov rax, rcx
mov ecx, dword [r8]
mov bh, al
lea r12d, [rcx + 1]
mov dword [r8], r12d
mov word [r15 + rcx*2], bx
cmp rdx, r10
jne 0x140165d00
mov r8d, dword [rsp + 0x4c]
mov edx, edi
mov ebx, dword [rsp + 0x50]
mov eax, r14d
mov dword [rsp + 0x184], 0
mov r11d, dword [rsp + 0x94]
sub edx, r8d
cmp r14d, 1
jbe 0x140166017
mov dword [rsp + 0x4d4], 0
mov ecx, edx
shl r11d, cl
cmp eax, 2
je 0x140166581
mov r8d, dword [rsp + 0x98]
lea ecx, [rdx + 1]
mov dword [rsp + 0x4d8], r11d
shl r8d, cl
add r8d, r11d
cmp eax, 3
je 0x140166581
mov r10d, dword [rsp + 0x9c]
lea ecx, [rdx + 2]
mov dword [rsp + 0x4dc], r8d
shl r10d, cl
add r10d, r8d
cmp eax, 4
je 0x140166581
mov r8d, dword [rsp + 0xa0]
lea ecx, [rdx + 3]
mov dword [rsp + 0x4e0], r10d
shl r8d, cl
add r8d, r10d
cmp eax, 5
je 0x140166581
mov r10d, dword [rsp + 0xa4]
lea ecx, [rdx + 4]
mov dword [rsp + 0x4e4], r8d
shl r10d, cl
add r10d, r8d
cmp eax, 6
je 0x140166581
invalid
mov al, byte [rdi]
add byte [rax], al
mov r8d, dword [rsp + 0xa8]
mov rbp, 0xffffffffffffffd4
jmp 0x14016628a
mov dword [rsp + 0x44], edx
jmp 0x140165cc1
mov ecx, edx
mov edx, eax
mov eax, ecx
jmp 0x140165b0c
mov edx, eax
mov eax, ecx
jmp 0x140165b0c
mov dword [rsp + 0x48], 1
mov eax, r13d
mov r9d, edi
jmp 0x140165b1e
mov r10d, dword [rsp + 0x8c]
mov dword [rsp + 0x44], 0
mov dword [rsp + 0x184], 0
test r10d, r10d
jne 0x140165cdd
jmp 0x140166017
mov eax, edx
mov edx, ecx
jmp 0x140165b0c
mov eax, r8d
jmp 0x140165b0c
mov dword [rsp + 0x184], 0
mov edx, edi
sub edx, r8d
jmp 0x140165d56
mov dword [rsp + 0x44], ecx
jmp 0x140165cc1