Function at 0x140101210
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, 0x148
movaps xmmword [rsp + 0x100], xmm6
movaps xmmword [rsp + 0x110], xmm7
movaps xmmword [rsp + 0x120], xmm8
movaps xmmword [rsp + 0x130], xmm9
test r9d, r9d
mov rbx, rcx
mov rbp, rdx
mov qword [rsp + 0x40], r8
mov dword [rsp + 0x4c], r9d
jle 0x140101280
mov rdx, qword [r8]
call fcn.1400f3350
test rax, rax
mov rsi, rax
je 0x140101280
mov rdx, qword [rax]
mov rcx, rbx
call fcn.1400f36b0
test rbp, rbp
je 0x14010127d
inc dword [rbp + 0x10]
mov qword [rsi], rbp
mov r8, qword [rsp + 0x40]
mov rdx, rbp
mov rcx, rbx
call fcn.1400f3380
test eax, eax
je 0x1401019aa
mov rax, qword [rbp + 0x18]
mov ax, word [rax + 2]
xchg al, ah
movzx eax, ax
mov dword [rsp + 0x58], eax
inc eax
movsxd r14, eax
mov dword [rsp + 0x5c], eax
imul rcx, r14, 0x34
call fcn.140151e80
test rax, rax
mov qword [rsp + 0x30], rax
je 0x140101979
lea rax, [r14*4]
xor esi, esi
imul r11, r14, 0x30
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x68]
lea rdx, [rax + r11]
xor eax, eax
mov rdi, rdx
rep stosb byte [rdi], al
mov rdi, qword [rsp + 0x30]
cmp dword [rsp + 0x58], esi
mov r8, qword [rbp + 0x18]
jle 0x14010131b
mov dl, byte [rbx + 0x27]
mov r9d, esi
inc esi
mov cl, byte [rbx + 0x25]
mov qword [rsp + 0x20], rdi
add rdi, 0x30
call fcn.1400f3300
jmp 0x1401012f6
mov eax, dword [rbx + 0x20]
add r8, 2
mov rdi, r8
mov rsi, qword [rsp + 0x40]
lea ecx, [rax - 2]
xor eax, eax
movsxd rcx, ecx
rep stosb byte [rdi], al
mov rax, qword [rsp + 0x30]
mov dword [rbp + 0x14], 1
mov ecx, 0xc
lea rax, [rax + r11 - 0x30]
mov rdi, rax
rep movsd dword [rdi], dword [rsi]
cmp qword [rbp + 8], 1
jne 0x14010138c
mov rdx, rbp
mov rcx, rbx
call fcn.1400f33e0
mov rdx, rbp
mov rcx, rbx
mov r13, rax
call fcn.1400f33e0
mov rdx, qword [rbp + 0x18]
mov r12, rax
mov eax, dword [rbx + 0x2c]
inc eax
mov dword [rbx + 0x2c], eax
xchg al, ah
mov dword [rbp + 0x14], 1
mov word [rdx], ax
jmp 0x1401013a1
mov rdx, qword [rbp]
mov rcx, rbx
mov r12, rbp
call fcn.1400f33e0
inc dword [rbp + 0x10]
mov r13, rax
test r12, r12
je 0x14010197f
test r13, r13
sete byte [rsp + 0x50]
je 0x14010197f
mov al, byte [rsp + 0x50]
movsxd rcx, dword [rbx + 0x20]
mov rdi, qword [r12 + 0x18]
rep stosb byte [rdi], al
movsxd rcx, dword [rbx + 0x20]
mov rdi, qword [r13 + 0x18]
rep stosb byte [rdi], al
movzx eax, byte [rbx + 0x24]
lea rsi, [rax + 1]
lea rax, [r14 + 2]
imul rsi, rax
shl rsi, 2
mov rcx, rsi
call fcn.140151e80
test rax, rax
mov qword [rsp + 0x38], rax
je 0x14010197f
movzx edx, byte [rbx + 0x24]
mov rcx, rsi
xor esi, esi
mov edi, dword [rsp + 0x5c]
mov rax, rdx
add rdx, rdx
imul eax, edi
cdqe
add rdx, rax
mov rax, qword [rsp + 0x38]
lea r15, [rax + rdx*4]
mov rdi, rax
mov al, byte [rsp + 0x50]
rep stosb byte [rdi], al
xor edi, edi
movzx eax, byte [rbx + 0x24]
mov r9d, esi
cmp eax, esi
mov byte [rsp + 0x63], al
mov dword [rsp + 0x74], eax
jle 0x14010148a
movzx eax, byte [rsp + 0x63]
mov rcx, qword [rsp + 0x38]
add rax, rax
add rax, rdi
lea rdx, [rcx + rax*4]
xor eax, eax
mov qword [rcx + rsi*8], rdx
mov dword [rdx + rax*4], eax
inc rax
lea ecx, [rax - 1]
cmp dword [rsp + 0x58], ecx
jg 0x140101457
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x28], r15
mov rcx, rbx
inc rsi
mov r8d, dword [rsp + 0x5c]
add rdi, r14
mov qword [rsp + 0x20], rax
call fcn.1400b67a0
jmp 0x14010142a
xor eax, eax
xor r14d, r14d
xorps xmm8, xmm8
mov dword [rsp + 0x70], eax
mov dword [rsp + 0x80], eax
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x50], rax
cmp dword [rsp + 0x74], r14d
jle 0x1401016e1
mov eax, dword [rbx + 0x20]
mov edi, 3
xorps xmm7, xmm7
xor r15d, r15d
movzx ecx, byte [rbx + 0x27]
movaps xmm6, xmm7
movaps xmm9, xmm7
sub eax, 4
cdq
idiv ecx
cdq
idiv edi
mov r11d, eax
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x5c]
sub eax, r11d
mov dword [rsp + 0x84], eax
mov eax, dword [rsp + 0x84]
cmp r11d, eax
jg 0x1401016bc
mov rax, qword [rsp + 0x38]
lea rdi, [rsp + 0xa0]
mov ecx, 0xc
mov qword [rsp + 0x78], rdi
mov rdi, qword [rsp + 0x30]
mov rax, qword [rax + r14*8]
movsxd rsi, dword [rax]
imul rsi, rsi, 0x30
add rsi, rdi
mov rdi, qword [rsp + 0x78]
rep movsd dword [rdi], dword [rsi]
mov rdi, qword [rsp + 0x68]
mov ecx, 0xc
movsxd rsi, dword [rax + rdi - 4]
mov rdi, qword [rsp + 0x30]
imul rsi, rsi, 0x30
add rsi, rdi
mov rdi, qword [rsp + 0x50]
rep movsd dword [rdi], dword [rsi]
mov esi, 1
cmp dword [rsp + 0x58], esi
jle 0x140101599
movsxd r8, dword [rax + rsi*4]
mov qword [rsp + 0x88], rax
mov rdi, qword [rsp + 0x30]
imul r8, r8, 0x30
add r8, rdi
cmp r11d, esi
jle 0x14010157f
mov rdx, qword [rsp + 0x78]
jmp 0x140101584
mov rdx, qword [rsp + 0x50]
mov rcx, rbx
inc rsi
call fcn.1400bcf60
mov rax, qword [rsp + 0x88]
jmp 0x140101555
movzx esi, byte [rbx + 0x25]
lea rdi, [rsp + 0xa0]
mov r10b, byte [rbx + 0x26]
mov r8, rdi
mov ecx, esi
mov edx, r10d
call fcn.1400bcd20
mov r8, qword [rsp + 0x50]
mov ecx, esi
addsd xmm9, xmm0
call fcn.1400bcd20
mov rcx, qword [rsp + 0x50]
mov r8, rdi
xor r9d, r9d
addsd xmm9, xmm0
movsd xmm2, qword [0x1401a0800]
cmp r9d, esi
jge 0x140101650
test r10b, r10b
mov edx, dword [rcx + 8]
mov eax, dword [r8 + 8]
je 0x140101629
cmp edx, eax
jl 0x1401015fa
cvtsi2sd xmm1, edx
jmp 0x1401015fe
cvtsi2sd xmm1, eax
cvtsi2sd xmm0, dword [r8 + 0xc]
cvtsi2sd xmm3, dword [rcx + 0xc]
minsd xmm0, xmm3
add r8, 8
add rcx, 8
comisd xmm1, xmm0
ja 0x14010164d
subsd xmm0, xmm1
add r9d, 2
mulsd xmm2, xmm0
jmp 0x1401015df
movd xmm1, eax
movd xmm0, edx
comiss xmm1, xmm0
ja 0x140101647
cvtss2sd xmm1, xmm0
cvtss2sd xmm0, dword [r8 + 0xc]
cvtss2sd xmm3, dword [rcx + 0xc]
jmp 0x140101609
cvtss2sd xmm1, xmm1
jmp 0x14010163a
xorps xmm2, xmm2
mov cl, byte [rsp + 0x63]
lea r8, [rsp + 0xa0]
mov edx, r10d
xorps xmm0, xmm0
addsd xmm2, xmm0
call fcn.1400bcb80
mov r8, qword [rsp + 0x50]
mov edx, r10d
movaps xmm3, xmm0
call fcn.1400bcb80
cmp dword [rsp + 0x64], r11d
addsd xmm0, xmm3
je 0x14010169c
comisd xmm6, xmm2
ja 0x1401016ab
ucomisd xmm6, xmm2
jp 0x1401016a3
jne 0x1401016a3
comisd xmm7, xmm0
ja 0x1401016ab
jmp 0x1401016a3
mov r15d, dword [rsp + 0x64]
jmp 0x1401016ae
movaps xmm0, xmm7
movaps xmm2, xmm6
jmp 0x1401016ae
mov r15d, r11d
inc r11d
movaps xmm7, xmm0
movaps xmm6, xmm2
jmp 0x1401014ed
test r14, r14
je 0x1401016c8
comisd xmm8, xmm9
jbe 0x1401016d9
mov dword [rsp + 0x80], r14d
movaps xmm8, xmm9
mov dword [rsp + 0x70], r15d
inc r14
jmp 0x1401014ab
movsxd rax, dword [rsp + 0x80]
mov ecx, 0xc
mov rdi, qword [rsp + 0x38]
lea r14, [rsp + 0xd0]
lea r15, [rdi + rax*8]
mov rdi, qword [rsp + 0x30]
mov rdx, qword [r15]
lea rax, [rsp + 0xa0]
movsxd rsi, dword [rdx]
imul rsi, rsi, 0x30
add rsi, rdi
mov rdi, rax
movsxd rax, dword [rsp + 0x70]
rep movsd dword [rdi], dword [rsi]
mov ecx, 0xc
mov rdi, r14
mov rdx, qword [r15]
movsxd rsi, dword [rdx + rax*4]
mov rax, qword [rsp + 0x30]
imul rsi, rsi, 0x30
add rsi, rax
rep movsd dword [rdi], dword [rsi]
xor esi, esi
cmp dword [rsp + 0x70], esi
jle 0x140101755
lea rdi, [rsp + 0xa0]
mov rdx, r12
jmp 0x14010175b
mov rdx, r13
mov rdi, r14
mov rax, qword [r15]
mov rcx, rbx
movsxd r8, dword [rax + rsi*4]
inc rsi
mov rax, qword [rsp + 0x30]
imul r8, r8, 0x30
add r8, rax
call fcn.1400f3380
mov rdx, rdi
call fcn.1400bcf60
lea eax, [rsi - 1]
cmp dword [rsp + 0x58], eax
jg 0x140101742
mov rcx, qword [rsp + 0x38]
call fcn.140150f20
mov rdx, r13
mov rcx, rbx
call fcn.1400f37b0
test eax, eax
mov r14d, eax
jne 0x140101985
cmp qword [r12 + 8], 0
je 0x1401017f3
mov rax, qword [r13 + 8]
cmp qword [rbp + 8], 1
mov rsi, qword [r12]
mov qword [rsp + 0xd0], rax
mov rax, qword [r12 + 8]
mov qword [rsp + 0xa0], rax
jne 0x14010180a
mov eax, dword [rsp + 0x4c]
lea r8, [rsp + 0xa0]
mov rdx, rsi
mov rcx, rbx
lea r9d, [rax + 1]
call fcn.140101210
jmp 0x140101848
mov rdx, r12
mov rcx, rbx
call fcn.1400f37b0
test eax, eax
mov r14d, eax
je 0x1401017b2
jmp 0x140101985
lea r8, [rsp + 0x9c]
mov rdx, r12
mov rcx, rbx
call fcn.1400f34a0
test eax, eax
mov r14d, eax
jne 0x140101985
mov r9d, dword [rsp + 0x9c]
lea r8, [rsp + 0xa0]
mov rdx, rsi
mov rcx, rbx
call fcn.1400f3450
call fcn.1400b64f0
test eax, eax
mov r14d, eax
jne 0x140101985
mov eax, dword [rsp + 0x4c]
lea r8, [rsp + 0xd0]
mov rcx, rbx
mov rdx, qword [r13]
lea r9d, [rax + 1]
call fcn.140101210
test eax, eax
mov esi, eax
mov r14d, eax
jne 0x140101985
xor edi, edi
xor r15d, r15d
mov rdx, qword [r13 + 0x18]
mov ax, word [rdx + 2]
xchg al, ah
movzx eax, ax
cmp r15d, eax
jge 0x1401018e2
movzx eax, byte [rbx + 0x27]
mov r8, r13
mov rcx, rbx
mov r9d, dword [rsp + 0x4c]
imul eax, r15d
add eax, 4
cdqe
mov rdx, qword [rdx + rax]
bswap rdx
mov qword [rsp + 0x38], rdx
call fcn.14015be60
mov rdx, qword [rsp + 0x38]
mov r14d, eax
mov rax, qword [rsp + 0x40]
cmp qword [rax], rdx
mov eax, 1
cmove edi, eax
test r14d, r14d
jne 0x140101985
inc r15d
jmp 0x140101881
cmp qword [rbp + 8], 1
jne 0x140101929
mov rdx, qword [r12 + 0x18]
mov ax, word [rdx + 2]
xchg al, ah
movzx eax, ax
cmp esi, eax
jge 0x14010192d
movzx eax, byte [rbx + 0x27]
mov r8, r12
mov rcx, rbx
mov r9d, dword [rsp + 0x4c]
imul eax, esi
add eax, 4
cdqe
mov rdx, qword [rdx + rax]
bswap rdx
call fcn.14015be60
test eax, eax
mov r14d, eax
jne 0x140101985
inc esi
jmp 0x1401018e9
test edi, edi
je 0x140101958
mov rdx, r13
mov rcx, rbx
xor r13d, r13d
call fcn.1400f36b0
test eax, eax
mov r14d, eax
jne 0x140101985
mov rdx, r12
mov rcx, rbx
xor r13d, r13d
call fcn.1400f36b0
xor r12d, r12d
mov r14d, eax
jmp 0x140101985
mov rax, qword [rsp + 0x40]
mov r8, r12
mov rcx, rbx
mov r9d, dword [rsp + 0x4c]
mov rdx, qword [rax]
call fcn.14015be60
test eax, eax
mov r14d, eax
jne 0x140101985
jmp 0x14010192d
xor r13d, r13d
xor r12d, r12d
mov r14d, 7
mov rdx, r13
mov rcx, rbx
call fcn.1400f36b0
mov rcx, rbx
mov rdx, r12
call fcn.1400f36b0
mov rcx, qword [rsp + 0x30]
call fcn.140150f20
jmp 0x140101a4c
mov r8, qword [rsp + 0x40]
mov rdx, rbp
call fcn.1400b64f0
test eax, eax
mov r14d, eax
jne 0x140101a4c
mov rax, qword [rsp + 0x40]
mov rcx, rbx
cmp dword [rsp + 0x4c], 0
mov r8, qword [rbp + 8]
mov rdx, qword [rax]
jne 0x140101a12
movaps xmm6, xmmword [rsp + 0x100]
movaps xmm7, xmmword [rsp + 0x110]
movaps xmm8, xmmword [rsp + 0x120]
movaps xmm9, xmmword [rsp + 0x130]
add rsp, 0x148
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.1400ff4d0
movaps xmm6, xmmword [rsp + 0x100]
movaps xmm7, xmmword [rsp + 0x110]
movaps xmm8, xmmword [rsp + 0x120]
movaps xmm9, xmmword [rsp + 0x130]
add rsp, 0x148
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.1400f6710
movaps xmm6, xmmword [rsp + 0x100]
mov eax, r14d
movaps xmm7, xmmword [rsp + 0x110]
movaps xmm8, xmmword [rsp + 0x120]
movaps xmm9, xmmword [rsp + 0x130]
add rsp, 0x148
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret