Function at 0x3a118a740
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, 0x908
pxor xmm0, xmm0
mov ebx, dword [rcx]
mov qword [rsp + 0x950], rcx
mov dword [rsp + 0xc0], 0
mov qword [rsp + 0x1b0], 0
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0x170], xmm0
movaps xmmword [rsp + 0x180], xmm0
movaps xmmword [rsp + 0x190], xmm0
movaps xmmword [rsp + 0x1a0], xmm0
cmp ebx, 0x10
ja 0x3a118adb0
mov qword [rsp + 0x28], r8
lea rax, [rsp + 0x80]
lea rsi, [rsp + 0x1c0]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x78]
lea r8, [rsp + 0x7c]
mov rdx, rax
mov rcx, rsi
call fcn.3a1188070
mov rbp, rax
cmp rax, 0xffffffffffffff88
ja 0x3a118adb7
mov r8d, dword [rsp + 0x78]
cmp ebx, r8d
jb 0x3a118adb0
mov eax, r8d
lea r13d, [r8 + 1]
mov r14d, dword [rsp + rax*4 + 0x80]
test r14d, r14d
jne 0x3a118b369
lea edx, [r8 - 1]
mov r12d, dword [rsp + rdx*4 + 0x80]
mov rax, rdx
test r12d, r12d
jne 0x3a118a97f
lea edx, [r8 - 2]
mov edi, dword [rsp + rdx*4 + 0x80]
mov rax, rdx
test edi, edi
jne 0x3a118a97f
lea edx, [r8 - 3]
mov r11d, dword [rsp + rdx*4 + 0x80]
mov rax, rdx
test r11d, r11d
jne 0x3a118a97f
lea edx, [r8 - 4]
mov r10d, dword [rsp + rdx*4 + 0x80]
mov rax, rdx
test r10d, r10d
jne 0x3a118a97f
lea edx, [r8 - 5]
mov r9d, dword [rsp + rdx*4 + 0x80]
mov rax, rdx
test r9d, r9d
jne 0x3a118a97f
lea edx, [r8 - 6]
mov ecx, dword [rsp + rdx*4 + 0x80]
mov rax, rdx
test ecx, ecx
jne 0x3a118a97f
lea edx, [r8 - 7]
mov rax, rdx
mov edx, dword [rsp + rdx*4 + 0x80]
test edx, edx
jne 0x3a118a97f
lea edx, [r8 - 8]
mov r15d, dword [rsp + rdx*4 + 0x80]
mov rax, rdx
test r15d, r15d
jne 0x3a118a97f
lea edx, [r8 - 9]
mov r14d, dword [rsp + rdx*4 + 0x80]
mov rax, rdx
test r14d, r14d
jne 0x3a118a97f
lea edx, [r8 - 0xa]
mov r12d, dword [rsp + rdx*4 + 0x80]
mov rax, rdx
test r12d, r12d
jne 0x3a118a97f
lea edx, [r8 - 0xb]
mov edi, dword [rsp + rdx*4 + 0x80]
mov rax, rdx
test edi, edi
jne 0x3a118a97f
lea edx, [r8 - 0xc]
mov r11d, dword [rsp + rdx*4 + 0x80]
mov rax, rdx
test r11d, r11d
jne 0x3a118a97f
lea edx, [r8 - 0xd]
mov r10d, dword [rsp + rdx*4 + 0x80]
mov rax, rdx
test r10d, r10d
jne 0x3a118a97f
lea edx, [r8 - 0xe]
mov r9d, dword [rsp + rdx*4 + 0x80]
mov rax, rdx
test r9d, r9d
jne 0x3a118a97f
lea edx, [r8 - 0xf]
mov ecx, dword [rsp + rdx*4 + 0x80]
mov rax, rdx
test ecx, ecx
jne 0x3a118a97f
lea edx, [r8 - 0x10]
mov rax, rdx
mov edx, dword [rsp + rdx*4 + 0x80]
test edx, edx
jne 0x3a118a97f
lea eax, [r8 - 0x11]
mov edi, r13d
mov r9d, eax
sub edi, eax
sub r9d, r13d
mov dword [rsp + 0x34], edi
test eax, eax
je 0x3a118b394
mov r11d, dword [rsp + 0x84]
mov dword [rsp + 0x30], r11d
cmp eax, 1
je 0x3a118ab30
mov edx, dword [rsp + 0x88]
mov dword [rsp + 0x17c], r11d
add edx, r11d
cmp eax, 2
je 0x3a118b360
mov edi, dword [rsp + 0x8c]
mov dword [rsp + 0x180], edx
add edi, edx
mov dword [rsp + 0x30], edi
cmp eax, 3
je 0x3a118ab30
mov edx, dword [rsp + 0x90]
mov dword [rsp + 0x184], edi
add edx, edi
cmp eax, 4
je 0x3a118b360
mov edi, dword [rsp + 0x94]
mov dword [rsp + 0x188], edx
add edi, edx
mov dword [rsp + 0x30], edi
cmp eax, 5
je 0x3a118ab30
mov edx, dword [rsp + 0x98]
mov dword [rsp + 0x18c], edi
add edx, edi
cmp eax, 6
je 0x3a118b360
mov edi, dword [rsp + 0x9c]
mov dword [rsp + 0x190], edx
add edi, edx
mov dword [rsp + 0x30], edi
cmp eax, 7
je 0x3a118ab30
mov edx, dword [rsp + 0xa0]
mov dword [rsp + 0x194], edi
add edx, edi
cmp eax, 8
je 0x3a118b360
mov edi, dword [rsp + 0xa4]
mov dword [rsp + 0x198], edx
add edi, edx
mov dword [rsp + 0x30], edi
cmp eax, 9
je 0x3a118ab30
mov edx, dword [rsp + 0xa8]
mov dword [rsp + 0x19c], edi
add edx, edi
cmp eax, 0xa
je 0x3a118b360
mov edi, dword [rsp + 0xac]
mov dword [rsp + 0x1a0], edx
add edi, edx
mov dword [rsp + 0x30], edi
cmp eax, 0xb
je 0x3a118ab30
mov edx, dword [rsp + 0xb0]
mov dword [rsp + 0x1a4], edi
add edx, edi
cmp eax, 0xc
je 0x3a118b360
mov edi, dword [rsp + 0xb4]
mov dword [rsp + 0x1a8], edx
add edi, edx
mov dword [rsp + 0x30], edi
cmp eax, 0xd
je 0x3a118ab30
mov ecx, dword [rsp + 0xb8]
mov dword [rsp + 0x1ac], edi
add ecx, edi
cmp eax, 0xe
je 0x3a118b3ba
mov edx, dword [rsp + 0xbc]
mov dword [rsp + 0x1b0], ecx
add edx, ecx
cmp eax, 0xf
je 0x3a118b360
mov edi, dword [rsp + 0xc0]
mov dword [rsp + 0x1b4], edx
add edi, edx
mov dword [rsp + 0x30], edi
mov edi, dword [rsp + 0x30]
mov r10d, dword [rsp + 0x7c]
mov dword [rsp + 0x174], edi
test r10d, r10d
je 0x3a118b37f
xor edx, edx
lea r11, [rsp + 0x174]
mov edi, ebx
mov r12d, eax
lea r15, [rsp + 0x2c0]
movzx eax, byte [rsi + rdx]
mov rbx, rax
lea rax, [r11 + rax*4]
mov ecx, dword [rax]
lea r14d, [rcx + 1]
mov dword [rax], r14d
movzx eax, dl
add rdx, 1
mov ah, bl
mov word [r15 + rcx*2], ax
cmp rdx, r10
jne 0x3a118ab60
mov edx, edi
mov r11d, dword [rsp + 0x84]
mov ebx, edi
mov eax, r12d
mov dword [rsp + 0x174], 0
sub edx, r8d
test r12d, r12d
je 0x3a118b0c5
mov dword [rsp + 0x4c4], 0
mov ecx, edx
shl r11d, cl
cmp eax, 1
je 0x3a118adce
mov r8d, dword [rsp + 0x88]
lea ecx, [rdx + 1]
mov dword [rsp + 0x4c8], r11d
shl r8d, cl
add r8d, r11d
cmp eax, 2
je 0x3a118adce
mov r10d, dword [rsp + 0x8c]
lea ecx, [rdx + 2]
mov dword [rsp + 0x4cc], r8d
shl r10d, cl
add r10d, r8d
cmp eax, 3
je 0x3a118adce
mov r8d, dword [rsp + 0x90]
lea ecx, [rdx + 3]
mov dword [rsp + 0x4d0], r10d
shl r8d, cl
add r8d, r10d
cmp eax, 4
je 0x3a118adce
mov r10d, dword [rsp + 0x94]
lea ecx, [rdx + 4]
mov dword [rsp + 0x4d4], r8d
shl r10d, cl
add r10d, r8d
cmp eax, 5
je 0x3a118adce
mov r8d, dword [rsp + 0x98]
lea ecx, [rdx + 5]
mov dword [rsp + 0x4d8], r10d
shl r8d, cl
add r8d, r10d
cmp eax, 6
je 0x3a118adce
mov r10d, dword [rsp + 0x9c]
lea ecx, [rdx + 6]
mov dword [rsp + 0x4dc], r8d
shl r10d, cl
add r10d, r8d
cmp eax, 7
je 0x3a118adce
mov r8d, dword [rsp + 0xa0]
lea ecx, [rdx + 7]
mov dword [rsp + 0x4e0], r10d
shl r8d, cl
add r8d, r10d
cmp eax, 8
je 0x3a118adce
mov r10d, dword [rsp + 0xa4]
lea ecx, [rdx + 8]
mov dword [rsp + 0x4e4], r8d
shl r10d, cl
add r10d, r8d
cmp eax, 9
je 0x3a118adce
mov r8d, dword [rsp + 0xa8]
lea ecx, [rdx + 9]
mov dword [rsp + 0x4e8], r10d
shl r8d, cl
add r8d, r10d
cmp eax, 0xa
je 0x3a118adce
mov r10d, dword [rsp + 0xac]
lea ecx, [rdx + 0xa]
mov dword [rsp + 0x4ec], r8d
shl r10d, cl
add r10d, r8d
cmp eax, 0xb
je 0x3a118adce
mov r8d, dword [rsp + 0xb0]
lea ecx, [rdx + 0xb]
mov dword [rsp + 0x4f0], r10d
shl r8d, cl
add r8d, r10d
cmp eax, 0xc
je 0x3a118adce
mov r10d, dword [rsp + 0xb4]
lea ecx, [rdx + 0xc]
mov dword [rsp + 0x4f4], r8d
shl r10d, cl
add r10d, r8d
cmp eax, 0xd
je 0x3a118adce
mov r8d, dword [rsp + 0xb8]
lea ecx, [rdx + 0xd]
mov dword [rsp + 0x4f8], r10d
shl r8d, cl
add r8d, r10d
cmp eax, 0xe
je 0x3a118adce
add edx, 0xe
mov edi, dword [rsp + 0xbc]
mov dword [rsp + 0x4fc], r8d
mov ecx, edx
shl edi, cl
mov edx, edi
add edx, r8d
cmp eax, 0xf
je 0x3a118adce
mov edi, dword [rsp + 0x34]
add r9d, ebx
mov dword [rsp + 0x500], edx
cmp r9d, edi
jae 0x3a118adde
jmp 0x3a118b0c5
mov rbp, 0xffffffffffffffd4
mov rax, rbp
add rsp, 0x908
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov edi, dword [rsp + 0x34]
add r9d, ebx
cmp r9d, edi
jb 0x3a118b0c5
mov edx, eax
lea r8d, [rax - 1]
mov edi, eax
mov dword [rsp + 0x60], ebx
and edx, 0xfffffffc
mov qword [rsp + 0x68], rbp
shr edi, 2
mov ebx, r8d
lea ecx, [rdx + 1]
lea rsi, [rcx*4]
mov rcx, rsi
mov qword [rsp + 0x38], rsi
lea rsi, [rsp + 0x4c0]
lea r12, [rsi + rcx]
lea ecx, [rdx + 2]
add edx, 3
mov dword [rsp + 0x50], edx
shl rdx, 2
mov dword [rsp + 0x40], ecx
lea r15, [rsi + rdx]
shl rcx, 2
mov qword [rsp + 0x58], rdx
mov edx, eax
lea r14, [rsi + rcx]
mov qword [rsp + 0x48], rcx
and edx, 3
mov ecx, dword [rsp + 0x34]
mov ebp, edx
nop word [rax + rax]
mov r10d, ecx
mov rdx, r10
shl rdx, 4
add rdx, r10
shl rdx, 2
lea r8, [rsi + rdx]
cmp ebx, 2
ja 0x3a118af5c
mov edx, dword [rsp + 0x4c4]
shr edx, cl
mov dword [r8 + 4], edx
cmp eax, 1
je 0x3a118b0b0
mov edx, dword [rsp + 0x4c8]
shr edx, cl
mov dword [r8 + 8], edx
cmp eax, 3
je 0x3a118af84
jmp 0x3a118b0b0
movdqu xmm0, xmmword [rsp + 0x4c4]
movq xmm5, r10
lea rdx, [rsi + rdx + 4]
psrld xmm0, xmm5
movups xmmword [rdx], xmm0
cmp edi, 1
je 0x3a118aefc
movdqu xmm0, xmmword [rsp + 0x4d4]
psrld xmm0, xmm5
movups xmmword [rdx + 0x10], xmm0
cmp edi, 2
je 0x3a118aefc
movdqu xmm0, xmmword [rsp + 0x4e4]
psrld xmm0, xmm5
movups xmmword [rdx + 0x20], xmm0
cmp edi, 3
je 0x3a118aefc
movdqu xmm0, xmmword [rsp + 0x4f4]
psrld xmm0, xmm5
movups xmmword [rdx + 0x30], xmm0
test ebp, ebp
je 0x3a118af3b
mov edx, dword [r12]
mov r11, qword [rsp + 0x38]
shr edx, cl
mov dword [r8 + r11], edx
mov edx, dword [rsp + 0x40]
cmp eax, edx
jb 0x3a118af3b
mov edx, dword [r14]
mov r11, qword [rsp + 0x48]
shr edx, cl
mov dword [r8 + r11], edx
mov edx, dword [rsp + 0x50]
cmp eax, edx
jb 0x3a118af3b
mov edx, dword [r15]
mov r11, qword [rsp + 0x58]
shr edx, cl
mov dword [r8 + r11], edx
add ecx, 1
cmp r9d, ecx
jb 0x3a118b0bc
mov r10d, ecx
mov rdx, r10
shl rdx, 4
add rdx, r10
shl rdx, 2
lea r8, [rsi + rdx]
lea r11, [rdx - 4]
cmp r11, 8
ja 0x3a118aea0
mov edx, dword [rsp + 0x4c4]
shr edx, cl
mov dword [r8 + 4], edx
mov edx, dword [rsp + 0x4c8]
shr edx, cl
mov dword [r8 + 8], edx
mov edx, dword [rsp + 0x4cc]
shr edx, cl
mov dword [r8 + 0xc], edx
cmp eax, 3
je 0x3a118b0b0
mov edx, dword [rsp + 0x4d0]
shr edx, cl
mov dword [r8 + 0x10], edx
cmp eax, 4
je 0x3a118b0b0
mov edx, dword [rsp + 0x4d4]
shr edx, cl
mov dword [r8 + 0x14], edx
cmp eax, 5
je 0x3a118b0b0
mov edx, dword [rsp + 0x4d8]
shr edx, cl
mov dword [r8 + 0x18], edx
cmp eax, 6
je 0x3a118b0b0
mov edx, dword [rsp + 0x4dc]
shr edx, cl
mov dword [r8 + 0x1c], edx
cmp eax, 7
je 0x3a118b0b0
mov edx, dword [rsp + 0x4e0]
shr edx, cl
mov dword [r8 + 0x20], edx
cmp eax, 8
je 0x3a118b0b0
mov edx, dword [rsp + 0x4e4]
shr edx, cl
mov dword [r8 + 0x24], edx
cmp eax, 9
je 0x3a118b0b0
mov edx, dword [rsp + 0x4e8]
shr edx, cl
mov dword [r8 + 0x28], edx
cmp eax, 0xa
je 0x3a118b0b0
mov edx, dword [rsp + 0x4ec]
shr edx, cl
mov dword [r8 + 0x2c], edx
cmp eax, 0xb
je 0x3a118b0b0
mov edx, dword [rsp + 0x4f0]
shr edx, cl
mov dword [r8 + 0x30], edx
cmp eax, 0xc
je 0x3a118b0b0
mov edx, dword [rsp + 0x4f4]
shr edx, cl
mov dword [r8 + 0x34], edx
cmp eax, 0xd
je 0x3a118b0b0
mov edx, dword [rsp + 0x4f8]
shr edx, cl
mov dword [r8 + 0x38], edx
cmp eax, 0xe
je 0x3a118b0b0
mov edx, dword [rsp + 0x4fc]
shr edx, cl
mov dword [r8 + 0x3c], edx
cmp eax, 0xf
je 0x3a118b0b0
mov edx, dword [rsp + 0x500]
shr edx, cl
mov dword [r8 + 0x40], edx
cmp eax, 0x10
je 0x3a118b0b0
mov edx, dword [rsp + 0x504]
shr edx, cl
mov dword [r8 + 0x44], edx
nop dword [rax]
add ecx, 1
cmp r9d, ecx
jae 0x3a118ae50
mov ebx, dword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
movdqa xmm3, xmmword [rsp + 0x4c0]
mov eax, r13d
movdqa xmm4, xmmword [rsp + 0x4d0]
sub eax, ebx
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x500]
movaps xmmword [rsp + 0xd0], xmm3
movdqa xmm3, xmmword [rsp + 0x4e0]
mov dword [rsp + 0x110], eax
mov eax, dword [rsp + 0x30]
movaps xmmword [rsp + 0xe0], xmm4
movdqa xmm4, xmmword [rsp + 0x4f0]
movaps xmmword [rsp + 0xf0], xmm3
movaps xmmword [rsp + 0x100], xmm4
test eax, eax
je 0x3a118adb7
mov eax, dword [rsp + 0x30]
lea r15, [rsp + 0x2c0]
sub ebx, r13d
mov qword [rsp + 0x68], rbp
mov dword [rsp + 0x38], ebx
mov r10, r15
mov r8, r15
lea rax, [r15 + rax*2]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x950]
add rax, 4
mov qword [rsp + 0x60], rax
nop dword [rax]
movzx eax, byte [r10 + 1]
mov ebx, dword [rsp + 0x38]
mov r11d, 1
mov ebp, r13d
mov edi, dword [rsp + 0x34]
movzx r12d, byte [r10]
mov r9d, dword [rsp + rax*4 + 0xd0]
lea ecx, [rax + rbx]
sub ebp, eax
shl r11d, cl
lea edx, [r9 + r11]
cmp ecx, edi
jb 0x3a118b320
mov edi, dword [rsp + 0x58]
mov ebx, 1
mov r11d, dword [rsp + 0x30]
mov r14, qword [rsp + 0x950]
add edi, ebp
lea r15, [r14 + r9*4 + 4]
mov r14d, ebp
test edi, edi
mov r9, r14
cmovg ebx, edi
shl r9, 4
add r9, r14
movsxd rbx, ebx
shl r9, 2
mov esi, dword [rsp + rbx*4 + 0x170]
lea r14, [rsp + r9 + 0x4c0]
movdqu xmm1, xmmword [rsp + r9 + 0x4c0]
movdqu xmm2, xmmword [r14 + 0x10]
movdqu xmm3, xmmword [r14 + 0x20]
sub r11d, esi
movdqu xmm4, xmmword [r14 + 0x30]
mov r9d, dword [r14 + 0x40]
movaps xmmword [rsp + 0x120], xmm1
movaps xmmword [rsp + 0x130], xmm2
mov dword [rsp + 0x160], r9d
movaps xmmword [rsp + 0x140], xmm3
movaps xmmword [rsp + 0x150], xmm4
cmp edi, 1
jle 0x3a118b266
mov edi, dword [rsp + rbx*4 + 0x120]
mov ebx, ebp
test edi, edi
je 0x3a118b266
mov r9, r15
lea rdi, [r15 + rdi*4]
nop word [rax + rax]
mov word [r9], r12w
add r9, 4
mov byte [r9 - 2], bl
mov byte [r9 - 1], 1
cmp r9, rdi
jne 0x3a118b250
test r11d, r11d
je 0x3a118b2fc
mov dword [rsp + 0x48], edx
mov edi, ecx
add r11, rsi
lea rbx, [r8 + rsi*2]
mov qword [rsp + 0x50], r10
sub edi, r13d
lea r14, [r8 + r11*2]
nop dword [rax + rax]
movzx r11d, byte [rbx + 1]
movzx r9d, byte [rbx]
mov r10d, 1
lea ecx, [r11 + rdi]
mov edx, dword [rsp + r11*4 + 0x120]
shl r9d, 8
shl r10d, cl
mov ecx, r13d
add r9d, r12d
sub ecx, r11d
add r10d, edx
lea esi, [rbp + rcx]
nop word [rax + rax]
mov ecx, edx
add edx, 1
lea rcx, [r15 + rcx*4]
mov word [rcx], r9w
mov byte [rcx + 2], sil
mov byte [rcx + 3], 2
cmp edx, r10d
jb 0x3a118b2c8
add rbx, 2
mov dword [rsp + r11*4 + 0x120], r10d
cmp r14, rbx
jne 0x3a118b290
mov edx, dword [rsp + 0x48]
mov r10, qword [rsp + 0x50]
mov dword [rsp + rax*4 + 0xd0], edx
mov rax, qword [rsp + 0x40]
add r10, 2
cmp r10, rax
jne 0x3a118b168
mov rbp, qword [rsp + 0x68]
jmp 0x3a118adb7
cmp r9d, edx
jae 0x3a118b2fc
mov rdi, qword [rsp + 0x950]
sub r11d, 1
add r11, r9
lea rcx, [rdi + r9*4]
mov rdi, qword [rsp + 0x60]
lea r9, [rdi + r11*4]
nop dword [rax]
mov word [rcx + 4], r12w
add rcx, 4
mov byte [rcx + 2], bpl
mov byte [rcx + 3], 1
cmp rcx, r9
jne 0x3a118b348
jmp 0x3a118b2fc
mov dword [rsp + 0x30], edx
jmp 0x3a118ab30
mov dword [rsp + 0x34], 1
mov eax, r8d
mov r9d, 0xffffffff
jmp 0x3a118a98e
mov dword [rsp + 0x174], 0
mov edx, ebx
sub edx, r8d
jmp 0x3a118abad
mov r10d, dword [rsp + 0x7c]
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x174], 0
test r10d, r10d
jne 0x3a118ab49
jmp 0x3a118b0c5
mov dword [rsp + 0x30], ecx
jmp 0x3a118ab30