Function at 0x1400a4ec0
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, 0x78
movaps xmmword [rsp + 0x40], xmm6
movaps xmmword [rsp + 0x50], xmm7
movaps xmmword [rsp + 0x60], xmm8
cmp byte [rcx + 0x1e], 0
mov rdi, rcx
jne 0x1400a55a5
mov r12d, dword [rcx + 0x30]
mov rbp, qword [rcx]
test r12d, r12d
jne 0x1400a55c6
mov rsi, qword [rcx + 0x10]
test rsi, rsi
je 0x1400a58ae
cmp byte [rdi + 0xdd], 0
je 0x1400a5020
mov r14, qword [rdi + 0xc8]
mov r9d, dword [r14 + 0xbc]
test r9d, r9d
je 0x1400a5020
xor r9d, r9d
xor r8d, r8d
mov edx, 0x53
mov rcx, rsi
call fcn.140044810
xor r9d, r9d
mov edx, 0x24
mov rcx, rsi
mov r8d, dword [r14 + 0xb8]
xor ebx, ebx
call fcn.140044810
mov r8d, dword [r14 + 0xbc]
mov r15d, dword [r14 + 0xc0]
movsxd r13, eax
test r8d, r8d
jle 0x1400a4fd6
movd xmm3, ebx
movsxd rax, dword [rsi + 0x90]
lea edx, [r15 + rbx]
movd xmm0, dword [r14 + 0xb8]
movdqa xmm1, xmm0
punpckldq xmm1, xmm3
cmp eax, dword [rsi + 0x94]
jge 0x1400a58eb
lea ecx, [rax + 1]
add ebx, 1
mov dword [rsi + 0x90], ecx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 0xc], edx
mov qword [rax + 0x10], 0
mov dword [rax], 0x5e
movq qword [rax + 4], xmm1
cmp dword [r14 + 0xbc], ebx
jg 0x1400a4f70
mov r9d, ebx
mov r8d, r15d
mov edx, 0x54
mov rcx, rsi
call fcn.140044810
mov r8d, dword [r14 + 0xb8]
mov rcx, rsi
lea r9d, [r13 + 1]
mov edx, 0x27
call fcn.140044810
mov rcx, qword [rsi]
mov edx, dword [rsi + 0x90]
lea rax, [0x1401f50c0]
cmp byte [rcx + 0x67], 0
je 0x1400a595c
mov dword [rax + 8], edx
nop
movsxd rax, dword [rsi + 0x90]
cmp eax, dword [rsi + 0x94]
jge 0x1400a593c
lea edx, [rax + 1]
mov dword [rsi + 0x90], edx
lea rdx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rax, [rax + rdx*8]
mov qword [rax], 0x46
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov rcx, qword [rsi]
mov edx, dword [rsi + 0x90]
lea rax, [0x1401f50c0]
cmp byte [rcx + 0x67], 0
je 0x1400a58a2
mov dword [rax + 8], edx
xor ebx, ebx
mov r13d, 1
jmp 0x1400a5125
lea edx, [rax + 1]
mov dword [rsi + 0x90], edx
movsxd rdx, eax
lea r10, [rdx + rdx*2]
mov rdx, qword [rsi + 0x88]
lea rdx, [rdx + r10*8]
mov dword [rdx + 4], r8d
mov dword [rdx + 8], r9d
mov dword [rdx + 0xc], ecx
mov qword [rdx + 0x10], 0
mov dword [rdx], 2
mov rdx, qword [rsi]
cmp byte [rdx + 0x67], 0
jne 0x1400a50e6
cdqe
lea rdx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rax, [rax + rdx*8]
mov byte [rax + 1], 0xfd
mov dword [rax + 0x10], r14d
cmp byte [rbp + 0xc5], 0
jne 0x1400a5118
movsxd rax, dword [rsi + 0x90]
test eax, eax
jle 0x1400a5118
mov rdx, qword [rsi + 0x88]
lea rax, [rax + rax*2]
mov ecx, 1
lea rax, [rdx + rax*8]
mov word [rax - 0x16], cx
nop word [rax + rax]
add rbx, 1
cmp dword [rbp + 0x28], ebx
jle 0x1400a55d8
mov eax, r13d
mov ecx, ebx
mov r8d, ebx
shl eax, cl
mov edx, eax
and edx, dword [rdi + 0x7c]
je 0x1400a5118
mov rdx, rbx
or dword [rsi + 0xc8], eax
shl rdx, 5
cmp rbx, 1
je 0x1400a5161
mov rcx, qword [rsi]
mov rcx, qword [rcx + 0x20]
mov rcx, qword [rcx + rdx + 8]
cmp byte [rcx + 0x11], 0
je 0x1400a5161
or dword [rsi + 0xcc], eax
mov rcx, qword [rbp + 0x20]
xor r9d, r9d
and eax, dword [rdi + 0x78]
setne r9b
mov eax, dword [rsi + 0x90]
mov rdx, qword [rcx + rdx + 0x18]
mov r14d, dword [rdx + 4]
mov ecx, dword [rdx]
cmp eax, dword [rsi + 0x94]
jl 0x1400a5090
mov dword [rsp + 0x20], ecx
mov edx, 2
mov rcx, rsi
call fcn.1400445b0
jmp 0x1400a50c4
mov rbx, qword [rdi + 0x10]
mov r14, qword [rdi + 0xa0]
mov r13, qword [rdi]
test r14, r14
je 0x1400a54ff
movq xmm8, qword [0x1401c0628]
movq xmm7, qword [0x1401c0630]
movq xmm6, qword [0x1401c0638]
nop dword [rax + rax]
movsxd rax, dword [r14 + 0x10]
mov ebp, dword [r14 + 0x14]
xor edx, edx
mov rcx, rdi
mov r8, rax
shl rax, 5
add rax, qword [r13 + 0x20]
lea r15d, [rbp - 1]
mov rax, qword [rax + 0x18]
mov r9, qword [rax + 0x68]
mov dword [rsp + 0x20], 0x70
call fcn.140051460
mov rax, qword [r14 + 8]
mov r10, qword [rax]
mov eax, dword [rbx + 0x90]
cmp eax, dword [rbx + 0x94]
jge 0x1400a5848
lea edx, [rax + 1]
mov dword [rbx + 0x90], edx
movsxd rdx, eax
lea rcx, [rdx + rdx*2]
mov rdx, qword [rbx + 0x88]
lea rdx, [rdx + rcx*8]
mov dword [rdx + 8], r15d
mov dword [rdx + 0xc], 0
mov qword [rdx + 0x10], 0
mov qword [rdx], 0x75
mov rdx, qword [rbx]
cmp byte [rdx + 0x67], 0
jne 0x1400a5294
test eax, eax
jns 0x1400a5275
mov eax, dword [rbx + 0x90]
sub eax, 1
cdqe
xor r9d, r9d
mov r8, r10
mov rcx, rbx
lea rdx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
lea rdx, [rax + rdx*8]
call fcn.140029370
movsxd rax, dword [rbx + 0x90]
lea edx, [rax + 0xc]
cmp edx, dword [rbx + 0x94]
jg 0x1400a5828
lea rdx, [rax + rax*2]
xor r8d, r8d
xor r9d, r9d
xor r10d, r10d
mov rax, qword [rbx + 0x88]
movd xmm0, ebp
mov r11d, 0x10
lea rax, [rax + rdx*8]
movq qword [rax + 0x1c], xmm8
mov qword [rax], 0x4b
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov byte [rax + 0x18], 0x24
mov ecx, dword [rbx + 0x90]
movq qword [rax + 0x4c], xmm7
lea edx, [rcx + 0xa]
xor ecx, ecx
mov byte [rax + 0x19], 0
mov dword [rax + 0x20], edx
mov word [rax + 0x1a], cx
mov dword [rax + 0x24], 0
mov qword [rax + 0x28], 0
mov qword [rax + 0x30], 0x5e
mov qword [rax + 0x38], 0
mov qword [rax + 0x40], 0
mov byte [rax + 0x48], 0x34
mov ecx, dword [rbx + 0x90]
mov byte [rax + 0x49], 0
lea edx, [rcx + 9]
mov word [rax + 0x4a], r8w
mov dword [rax + 0x50], edx
mov dword [rax + 0x54], 0
mov qword [rax + 0x58], 0
mov qword [rax + 0x60], 0x87
mov qword [rax + 0x68], 0
mov qword [rax + 0x70], 0
mov qword [rax + 0x78], 0x5e
mov qword [rax + 0x80], 1
mov qword [rax + 0x88], 0
mov qword [rax + 0x90], 0x56
mov qword [rax + 0x98], 0
mov qword [rax + 0xa0], 0
mov qword [rax + 0xa8], 0x50
movq qword [rax + 0xc4], xmm6
mov qword [rax + 0xb0], 0
mov qword [rax + 0xb8], 0
mov byte [rax + 0xc0], 9
mov ecx, dword [rbx + 0x90]
mov dword [rax + 0xcc], 0
lea edx, [rcx + 0xb]
mov byte [rax + 0xc1], 0
mov dword [rax + 0xc8], edx
mov rdx, qword [0x1401c0640]
mov qword [rax + 0xd0], 0
mov qword [rax + 0xdc], rdx
mov word [rax + 0xc2], r9w
mov byte [rax + 0xd8], 0x27
mov ecx, dword [rbx + 0x90]
mov byte [rax + 0xd9], 0
lea edx, [rcx + 2]
mov word [rax + 0xda], r10w
mov dword [rax + 0xe0], edx
lea edx, [rbp + 2]
mov dword [rax + 0xe4], 0
movd xmm2, edx
lea edx, [rbp + 1]
mov qword [rax + 0xe8], 0
punpckldq xmm0, xmm2
mov qword [rax + 0xf0], 0x47
mov qword [rax + 0xf8], 0
mov qword [rax + 0x100], 0
mov qword [rax + 0x108], 0x7a
mov qword [rax + 0x110], 0
mov qword [rax + 0x118], 0
add dword [rbx + 0x90], 0xc
mov dword [rax + 0x3c], ebp
mov dword [rax + 0x54], ebp
mov dword [rax + 0x4c], r15d
mov word [rax + 0x4a], r11w
movq qword [rax + 8], xmm0
mov dword [rax + 0x68], edx
mov dword [rax + 0x84], ebp
mov dword [rax + 0x94], ebp
mov dword [rax + 0xf8], ebp
movq qword [rax + 0xac], xmm0
mov ebp, dword [rdi + 0x34]
test ebp, ebp
jne 0x1400a5810
mov dword [rdi + 0x34], 1
mov r14, qword [r14]
test r14, r14
jne 0x1400a51e0
mov rbp, qword [rdi + 0x58]
test rbp, rbp
je 0x1400a5544
mov byte [rdi + 0x23], 0
mov edx, dword [rbp]
test edx, edx
jle 0x1400a5544
cmp qword [rdi + 0x10], 0
lea rbx, [rbp + 8]
je 0x1400a5544
nop
mov rdx, qword [rbx]
mov r8d, dword [rbx + 0x14]
mov rcx, rdi
add r12d, 1
call fcn.1400a4df0
cmp r12d, dword [rbp]
jge 0x1400a5544
add rbx, 0x18
cmp qword [rdi + 0x10], 0
jne 0x1400a5520
cmp byte [rdi + 0xdd], 0
jne 0x1400a5872
movsxd rax, dword [rsi + 0x90]
cmp eax, dword [rsi + 0x94]
jge 0x1400a5919
lea edx, [rax + 1]
mov dword [rsi + 0x90], edx
lea rdx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rax, [rax + rdx*8]
mov qword [rax], 9
mov qword [rax + 8], 1
mov qword [rax + 0x10], 0
mov eax, dword [rdi + 0x30]
test eax, eax
je 0x1400a58d4
mov dword [rdi + 0x18], 1
movaps xmm6, xmmword [rsp + 0x40]
movaps xmm7, xmmword [rsp + 0x50]
movaps xmm8, xmmword [rsp + 0x60]
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp byte [rbp + 0x67], 0
je 0x1400a55a5
mov dword [rcx + 0x18], 7
jmp 0x1400a55a5
mov r15d, dword [rdi + 0x130]
xor r13d, r13d
test r15d, r15d
jle 0x1400a56b5
nop dword [rax + rax]
mov rax, qword [rdi + 0x188]
mov rax, qword [rax + r13*8]
mov rbx, qword [rax + 0x50]
test rbx, rbx
jne 0x1400a5619
jmp 0x1400a561e
mov rbx, qword [rbx + 0x28]
test rbx, rbx
je 0x1400a561e
cmp rbp, qword [rbx]
jne 0x1400a5610
mov eax, dword [rsi + 0x90]
cmp eax, dword [rsi + 0x94]
jge 0x1400a57d0
lea edx, [rax + 1]
mov dword [rsi + 0x90], edx
movsxd rdx, eax
lea rcx, [rdx + rdx*2]
mov rdx, qword [rsi + 0x88]
lea rdx, [rdx + rcx*8]
mov qword [rdx], 0xaa
mov qword [rdx + 8], 0
mov qword [rdx + 0x10], 0
mov rdx, qword [rsi]
cmp byte [rdx + 0x67], 0
jne 0x1400a56a4
test eax, eax
jns 0x1400a5678
mov eax, dword [rsi + 0x90]
sub eax, 1
cdqe
lea rdx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rdx, [rax + rdx*8]
cmp byte [rdx + 1], 0
jne 0x1400a57b0
test rbx, rbx
je 0x1400a56a4
mov qword [rdx + 0x10], rbx
mov byte [rdx + 1], 0xf5
add dword [rbx + 0x18], 1
add r13, 1
cmp dword [rdi + 0x130], r13d
jg 0x1400a55f0
mov r14d, dword [rdi + 0x90]
mov rbx, qword [rdi + 0x10]
xor r13d, r13d
xor ebp, ebp
mov dword [rdi + 0x130], 0
test r14d, r14d
jg 0x1400a5702
jmp 0x1400a51ac
test r14, r14
je 0x1400a56ed
mov qword [rdx + 0x10], r14
mov byte [rdx + 1], 0xff
add r13d, 1
add rbp, 0x18
cmp r13d, dword [rdi + 0x90]
jge 0x1400a51a8
mov rax, qword [rdi + 0x98]
add rax, rbp
mov r10, qword [rax]
mov r8d, dword [rax]
mov r14, qword [rax + 0x10]
movzx ecx, byte [rax + 8]
mov r9d, dword [rax + 4]
mov eax, dword [rbx + 0x90]
cmp eax, dword [rbx + 0x94]
jge 0x1400a57f0
lea edx, [rax + 1]
mov dword [rbx + 0x90], edx
movsxd rdx, eax
lea r8, [rdx + rdx*2]
mov rdx, qword [rbx + 0x88]
lea rdx, [rdx + r8*8]
mov qword [rdx + 4], r10
mov dword [rdx + 0xc], ecx
mov qword [rdx + 0x10], 0
mov dword [rdx], 0xa9
mov rdx, qword [rbx]
cmp byte [rdx + 0x67], 0
jne 0x1400a56ed
test eax, eax
jns 0x1400a5776
mov eax, dword [rbx + 0x90]
sub eax, 1
cdqe
lea rdx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
lea rdx, [rax + rdx*8]
cmp byte [rdx + 1], 0
je 0x1400a56e0
mov r9d, 0xffffffff
mov r8, r14
mov rcx, rbx
call fcn.140029370
jmp 0x1400a56ed
mov r9d, 0xfffffff5
mov r8, rbx
mov rcx, rsi
call fcn.140029370
jmp 0x1400a56a4
xor r9d, r9d
xor r8d, r8d
mov edx, 0xaa
mov rcx, rsi
mov dword [rsp + 0x20], 0
call fcn.1400445b0
jmp 0x1400a5662
mov dword [rsp + 0x20], ecx
mov edx, 0xa9
mov rcx, rbx
call fcn.1400445b0
jmp 0x1400a5760
mov r14, qword [r14]
test r14, r14
jne 0x1400a51e0
jmp 0x1400a54ff
mov rcx, rbx
call fcn.1400433d0
test eax, eax
jne 0x1400a54ff
movsxd rax, dword [rbx + 0x90]
jmp 0x1400a52aa
mov r9d, r15d
xor r8d, r8d
mov edx, 0x75
mov rcx, rbx
mov dword [rsp + 0x20], 0
mov qword [rsp + 0x38], r10
call fcn.1400445b0
mov r10, qword [rsp + 0x38]
jmp 0x1400a525f
mov rax, qword [rdi + 0xc8]
mov r9d, dword [rax + 0xbc]
test r9d, r9d
je 0x1400a5551
mov r8d, dword [rax + 0xb8]
mov edx, 0x76
mov rcx, rsi
call fcn.140044810
jmp 0x1400a5551
mov rax, qword [rsi + 0x88]
jmp 0x1400a507c
cmp byte [rbp + 0xc5], 0
jne 0x1400a58df
call fcn.140045290
mov rsi, rax
test rax, rax
jne 0x1400a4f0a
mov dword [rdi + 0x18], 1
jmp 0x1400a5593
mov rdx, rdi
mov rcx, rsi
call fcn.140035340
mov dword [rdi + 0x18], 0x65
jmp 0x1400a55a5
mov dword [rsp + 0x20], edx
mov r9d, ebx
movd r8d, xmm0
mov rcx, rsi
mov edx, 0x5e
add ebx, 1
call fcn.1400445b0
cmp ebx, dword [r14 + 0xbc]
jl 0x1400a4f70
jmp 0x1400a4fd6
mov dword [rsp + 0x20], 0
xor r8d, r8d
mov edx, 9
mov rcx, rsi
mov r9d, 1
call fcn.1400445b0
jmp 0x1400a5593
xor r9d, r9d
xor r8d, r8d
mov edx, 0x46
mov rcx, rsi
mov dword [rsp + 0x20], 0
call fcn.1400445b0
jmp 0x1400a5062
mov rax, qword [rsi + 0x88]
lea rcx, [r13 + r13*2]
lea rax, [rax + rcx*8]
jmp 0x1400a501b