Function at 0x1401c0910
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, 0x158
movaps xmmword [rsp + 0x110], xmm6
movaps xmmword [rsp + 0x120], xmm7
movaps xmmword [rsp + 0x130], xmm8
movaps xmmword [rsp + 0x140], xmm9
mov qword [rsp + 0x48], r8
mov rbx, rcx
mov r15, rdx
mov dword [rsp + 0x44], r9d
test r9d, r9d
jle 0x1401c0981
mov rdx, qword [r8]
call fcn.1401b3070
mov rsi, rax
test rax, rax
je 0x1401c0981
mov rdx, qword [rax]
mov rcx, rbx
call fcn.1401b33d0
test r15, r15
je 0x1401c097e
inc dword [r15 + 0x10]
mov qword [rsi], r15
mov r8, qword [rsp + 0x48]
mov rdx, r15
mov rcx, rbx
call fcn.1401b30a0
test eax, eax
je 0x1401c13ba
mov eax, dword [rsp + 0x44]
cmp dword [rbx + 0x68], eax
mov rdx, qword [r15 + 0x18]
jge 0x1401c09b1
cmp qword [r15 + 8], 1
jne 0x1401c10cb
mov ax, word [rdx + 2]
xchg al, ah
movzx eax, ax
mov dword [rsp + 0x58], eax
inc eax
movsxd r13, eax
mov dword [rsp + 0x68], eax
imul rcx, r13, 0x34
call fcn.14020dc80
mov qword [rsp + 0x38], rax
test rax, rax
je 0x1401c10a1
imul r11, r13, 0x30
lea rax, [r13*4]
xor esi, esi
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x78]
lea rdx, [rax + r11]
xor eax, eax
mov rdi, rdx
rep stosb byte [rdi], al
mov rdi, qword [rsp + 0x38]
mov r8, qword [r15 + 0x18]
cmp dword [rsp + 0x58], esi
jle 0x1401c0a30
mov dl, byte [rbx + 0x27]
mov cl, byte [rbx + 0x25]
mov qword [rsp + 0x20], rdi
mov r9d, esi
add rdi, 0x30
inc esi
call fcn.1401b3020
jmp 0x1401c0a0b
mov eax, dword [rbx + 0x20]
add r8, 2
mov rsi, qword [rsp + 0x48]
mov rdi, r8
lea ecx, [rax - 2]
xor eax, eax
movsxd rcx, ecx
rep stosb byte [rdi], al
mov rax, qword [rsp + 0x38]
mov dword [r15 + 0x14], 1
mov ecx, 0xc
lea rax, [rax + r11 - 0x30]
mov rdi, rax
rep movsd dword [rdi], dword [rsi]
cmp qword [r15 + 8], 1
jne 0x1401c0aa3
mov rdx, r15
mov rcx, rbx
call fcn.1401b3100
mov rdx, r15
mov rcx, rbx
mov r12, rax
call fcn.1401b3100
mov rdx, qword [r15 + 0x18]
mov rbp, rax
mov eax, dword [rbx + 0x2c]
inc eax
mov dword [rbx + 0x2c], eax
xchg al, ah
mov dword [r15 + 0x14], 1
mov word [rdx], ax
jmp 0x1401c0ab8
mov rdx, qword [r15]
mov rcx, rbx
mov rbp, r15
call fcn.1401b3100
inc dword [r15 + 0x10]
mov r12, rax
test rbp, rbp
je 0x1401c10a6
test r12, r12
sete byte [rsp + 0x60]
je 0x1401c10a6
mov al, byte [rsp + 0x60]
movsxd rcx, dword [rbx + 0x20]
mov rdi, qword [rbp + 0x18]
rep stosb byte [rdi], al
movsxd rcx, dword [rbx + 0x20]
mov rdi, qword [r12 + 0x18]
rep stosb byte [rdi], al
movzx eax, byte [rbx + 0x24]
lea rsi, [rax + 1]
lea rax, [r13 + 2]
imul rsi, rax
shl rsi, 2
mov rcx, rsi
call fcn.14020dc80
mov qword [rsp + 0x50], rax
test rax, rax
je 0x1401c10a6
movzx edx, byte [rbx + 0x24]
mov edi, dword [rsp + 0x68]
mov rcx, rsi
xor esi, esi
mov rax, rdx
add rdx, rdx
imul eax, edi
cdqe
add rdx, rax
mov rax, qword [rsp + 0x50]
mov rdi, rax
lea r14, [rax + rdx*4]
mov al, byte [rsp + 0x60]
rep stosb byte [rdi], al
xor edi, edi
movzx eax, byte [rbx + 0x24]
mov r9d, esi
mov byte [rsp + 0x73], al
mov dword [rsp + 0x84], eax
cmp eax, esi
jle 0x1401c0ba4
movzx eax, byte [rsp + 0x73]
mov rcx, qword [rsp + 0x50]
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 0x1401c0b71
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x28], r14
mov rcx, rbx
inc rsi
mov r8d, dword [rsp + 0x68]
add rdi, r13
mov qword [rsp + 0x20], rax
call fcn.14012b610
jmp 0x1401c0b41
xor eax, eax
xor r13d, r13d
xorps xmm8, xmm8
mov dword [rsp + 0x80], eax
mov dword [rsp + 0x90], eax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x60], rax
cmp dword [rsp + 0x84], r13d
jle 0x1401c0e0d
mov eax, dword [rbx + 0x20]
movzx ecx, byte [rbx + 0x27]
mov edi, 3
xorps xmm7, xmm7
xor r14d, r14d
movaps xmm6, xmm7
movaps xmm9, xmm7
sub eax, 4
cdq
idiv ecx
cdq
idiv edi
mov r11d, eax
mov dword [rsp + 0x74], eax
mov eax, dword [rsp + 0x68]
sub eax, r11d
mov dword [rsp + 0x94], eax
mov eax, dword [rsp + 0x94]
cmp r11d, eax
jg 0x1401c0de5
mov rax, qword [rsp + 0x50]
lea rdi, [rsp + 0xb0]
mov ecx, 0xc
mov qword [rsp + 0x88], rdi
mov rdi, qword [rsp + 0x38]
mov rax, qword [rax + r13*8]
movsxd rsi, dword [rax]
imul rsi, rsi, 0x30
add rsi, rdi
mov rdi, qword [rsp + 0x88]
rep movsd dword [rdi], dword [rsi]
mov rdi, qword [rsp + 0x78]
mov ecx, 0xc
movsxd rsi, dword [rax + rdi - 4]
mov rdi, qword [rsp + 0x38]
imul rsi, rsi, 0x30
add rsi, rdi
mov rdi, qword [rsp + 0x60]
rep movsd dword [rdi], dword [rsi]
mov esi, 1
cmp dword [rsp + 0x58], esi
jle 0x1401c0cc2
movsxd r8, dword [rax + rsi*4]
mov rdi, qword [rsp + 0x38]
mov qword [rsp + 0x98], rax
imul r8, r8, 0x30
add r8, rdi
cmp r11d, esi
jle 0x1401c0ca8
mov rdx, qword [rsp + 0x88]
jmp 0x1401c0cad
mov rdx, qword [rsp + 0x60]
mov rcx, rbx
inc rsi
call fcn.140180600
mov rax, qword [rsp + 0x98]
jmp 0x1401c0c7b
movzx esi, byte [rbx + 0x25]
mov r10b, byte [rbx + 0x26]
lea rdi, [rsp + 0xb0]
mov r8, rdi
mov edx, r10d
mov ecx, esi
call fcn.140180440
mov r8, qword [rsp + 0x60]
mov ecx, esi
addsd xmm9, xmm0
call fcn.140180440
mov rcx, qword [rsp + 0x60]
mov r8, rdi
xor r9d, r9d
movsd xmm2, qword [0x1402ac730]
addsd xmm9, xmm0
cmp r9d, esi
jge 0x1401c0d79
mov edx, dword [rcx + 8]
mov eax, dword [r8 + 8]
test r10b, r10b
je 0x1401c0d52
cmp edx, eax
jl 0x1401c0d23
cvtsi2sd xmm1, edx
jmp 0x1401c0d27
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 0x1401c0d76
subsd xmm0, xmm1
add r9d, 2
mulsd xmm2, xmm0
jmp 0x1401c0d08
movd xmm1, eax
movd xmm0, edx
comiss xmm1, xmm0
ja 0x1401c0d70
cvtss2sd xmm1, xmm0
cvtss2sd xmm0, dword [r8 + 0xc]
cvtss2sd xmm3, dword [rcx + 0xc]
jmp 0x1401c0d32
cvtss2sd xmm1, xmm1
jmp 0x1401c0d63
xorps xmm2, xmm2
mov cl, byte [rsp + 0x73]
xorps xmm0, xmm0
lea r8, [rsp + 0xb0]
mov edx, r10d
addsd xmm2, xmm0
call fcn.140180300
mov r8, qword [rsp + 0x60]
mov edx, r10d
movaps xmm3, xmm0
call fcn.140180300
addsd xmm0, xmm3
cmp dword [rsp + 0x74], r11d
je 0x1401c0dc5
comisd xmm6, xmm2
ja 0x1401c0dd4
ucomisd xmm6, xmm2
jp 0x1401c0dcc
jne 0x1401c0dcc
comisd xmm7, xmm0
ja 0x1401c0dd4
jmp 0x1401c0dcc
mov r14d, dword [rsp + 0x74]
jmp 0x1401c0dd7
movaps xmm0, xmm7
movaps xmm2, xmm6
jmp 0x1401c0dd7
mov r14d, r11d
inc r11d
movaps xmm7, xmm0
movaps xmm6, xmm2
jmp 0x1401c0c0d
test r13, r13
je 0x1401c0df1
comisd xmm8, xmm9
jbe 0x1401c0e05
mov dword [rsp + 0x90], r13d
movaps xmm8, xmm9
mov dword [rsp + 0x80], r14d
inc r13
jmp 0x1401c0bc8
movsxd rax, dword [rsp + 0x90]
mov rdi, qword [rsp + 0x50]
mov ecx, 0xc
lea r13, [rsp + 0xe0]
lea r14, [rdi + rax*8]
mov rdi, qword [rsp + 0x38]
lea rax, [rsp + 0xb0]
mov rdx, qword [r14]
movsxd rsi, dword [rdx]
imul rsi, rsi, 0x30
add rsi, rdi
mov rdi, rax
movsxd rax, dword [rsp + 0x80]
rep movsd dword [rdi], dword [rsi]
mov ecx, 0xc
mov rdi, r13
mov rdx, qword [r14]
movsxd rsi, dword [rdx + rax*4]
mov rax, qword [rsp + 0x38]
imul rsi, rsi, 0x30
add rsi, rax
rep movsd dword [rdi], dword [rsi]
xor esi, esi
cmp dword [rsp + 0x80], esi
jle 0x1401c0e87
mov rdx, rbp
lea rdi, [rsp + 0xb0]
jmp 0x1401c0e8d
mov rdx, r12
mov rdi, r13
mov rax, qword [r14]
mov rcx, rbx
movsxd r8, dword [rax + rsi*4]
mov rax, qword [rsp + 0x38]
inc rsi
imul r8, r8, 0x30
add r8, rax
call fcn.1401b30a0
mov rdx, rdi
call fcn.140180600
lea eax, [rsi - 1]
cmp dword [rsp + 0x58], eax
jg 0x1401c0e71
mov rcx, qword [rsp + 0x50]
call fcn.14020cdc0
mov rdx, r12
mov rcx, rbx
call fcn.1401b34d0
mov edi, eax
test eax, eax
jne 0x1401c10ab
cmp qword [rbp + 8], 0
je 0x1401c0f23
mov rax, qword [r12 + 8]
cmp qword [r15 + 8], 1
mov rsi, qword [rbp]
mov qword [rsp + 0xe0], rax
mov rax, qword [rbp + 8]
mov qword [rsp + 0xb0], rax
jne 0x1401c0f39
mov eax, dword [rsp + 0x44]
lea r8, [rsp + 0xb0]
mov rdx, rsi
mov rcx, rbx
lea r9d, [rax + 1]
call fcn.1401c0910
jmp 0x1401c0f76
mov rdx, rbp
mov rcx, rbx
call fcn.1401b34d0
mov edi, eax
test eax, eax
je 0x1401c0ee2
jmp 0x1401c10ab
lea r8, [rsp + 0xac]
mov rdx, rbp
mov rcx, rbx
call fcn.1401b31c0
mov edi, eax
test eax, eax
jne 0x1401c10ab
mov r9d, dword [rsp + 0xac]
lea r8, [rsp + 0xb0]
mov rdx, rsi
mov rcx, rbx
call fcn.1401b3170
call fcn.14011fe90
mov edi, eax
test eax, eax
jne 0x1401c10ab
mov eax, dword [rsp + 0x44]
mov rdx, qword [r12]
lea r8, [rsp + 0xe0]
mov rcx, rbx
lea r9d, [rax + 1]
call fcn.1401c0910
mov esi, eax
mov edi, eax
test eax, eax
jne 0x1401c10ab
xor r14d, r14d
xor r13d, r13d
mov rdx, qword [r12 + 0x18]
mov ax, word [rdx + 2]
xchg al, ah
movzx eax, ax
cmp r13d, eax
jge 0x1401c100f
movzx eax, byte [rbx + 0x27]
mov r9d, dword [rsp + 0x44]
mov r8, r12
mov rcx, rbx
imul eax, r13d
add eax, 4
cdqe
mov rdx, qword [rdx + rax]
bswap rdx
mov qword [rsp + 0x50], rdx
call fcn.140216de0
mov rdx, qword [rsp + 0x50]
mov edi, eax
mov rax, qword [rsp + 0x48]
cmp qword [rax], rdx
mov eax, 1
cmove r14d, eax
test edi, edi
jne 0x1401c10ab
inc r13d
jmp 0x1401c0fae
cmp qword [r15 + 8], 1
jne 0x1401c1054
mov rdx, qword [rbp + 0x18]
mov ax, word [rdx + 2]
xchg al, ah
movzx eax, ax
cmp esi, eax
jge 0x1401c1059
movzx eax, byte [rbx + 0x27]
mov r9d, dword [rsp + 0x44]
mov r8, rbp
mov rcx, rbx
imul eax, esi
add eax, 4
cdqe
mov rdx, qword [rdx + rax]
bswap rdx
call fcn.140216de0
mov edi, eax
test eax, eax
jne 0x1401c10ab
inc esi
jmp 0x1401c1016
test r14d, r14d
je 0x1401c1081
mov rdx, r12
mov rcx, rbx
xor r12d, r12d
call fcn.1401b33d0
mov edi, eax
test eax, eax
jne 0x1401c10ab
mov rdx, rbp
mov rcx, rbx
xor r12d, r12d
xor ebp, ebp
call fcn.1401b33d0
mov edi, eax
jmp 0x1401c10ab
mov rax, qword [rsp + 0x48]
mov r9d, dword [rsp + 0x44]
mov r8, rbp
mov rcx, rbx
mov rdx, qword [rax]
call fcn.140216de0
mov edi, eax
test eax, eax
jne 0x1401c10ab
jmp 0x1401c1059
xor r12d, r12d
xor ebp, ebp
mov edi, 7
mov rdx, r12
mov rcx, rbx
call fcn.1401b33d0
mov rcx, rbx
mov rdx, rbp
call fcn.1401b33d0
mov rcx, qword [rsp + 0x38]
jmp 0x1401c13b0
mov eax, dword [rsp + 0x44]
lea r8, [rsp + 0xe0]
mov ecx, 0xa
mov rdi, r8
mov dword [rbx + 0x68], eax
xor eax, eax
rep stosd dword [rdi], eax
mov edi, 7
mov bp, word [rdx + 2]
rol bp, 8
movzx ebp, bp
lea esi, [rbp + 2]
lea eax, [rbp + 1]
and esi, 0x1fffe
mov dword [rsp + 0x38], eax
mov rcx, rsi
shl rcx, 6
call fcn.14020dc80
mov r12, rax
test rax, rax
je 0x1401c146d
imul r13, rsi, 0x30
shl rsi, 2
xor r11d, r11d
add r13, rax
lea rax, [r13 + rsi]
mov qword [rsp + 0x58], rax
add rax, rsi
mov qword [rsp + 0x50], rax
imul r14, r11, 0x30
mov r10d, r11d
mov rax, r12
add r14, r12
cmp ebp, r11d
jne 0x1401c1161
mov rsi, qword [rsp + 0x48]
mov ecx, 0xc
mov rdi, r14
rep movsd dword [rdi], dword [rsi]
jmp 0x1401c118c
mov dl, byte [rbx + 0x27]
mov cl, byte [rbx + 0x25]
mov qword [rsp + 0x20], r14
mov r9d, r11d
mov r8, qword [r15 + 0x18]
mov qword [rsp + 0x68], r12
mov dword [rsp + 0x60], r11d
call fcn.1401b3020
mov rax, qword [rsp + 0x68]
mov r10d, dword [rsp + 0x60]
mov dword [r13 + r11*4], r10d
movzx r9d, byte [rbx + 0x24]
xor edx, edx
cmp r9d, edx
jle 0x1401c11f0
mov r8b, byte [rbx + 0x26]
mov ecx, dword [r14 + rdx*8 + 8]
movsd xmm0, qword [rsp + rdx*8 + 0xe0]
test r8b, r8b
jne 0x1401c11be
movd xmm4, ecx
cvtss2sd xmm1, xmm4
jmp 0x1401c11c2
cvtsi2sd xmm1, ecx
addsd xmm0, xmm1
mov ecx, dword [r14 + rdx*8 + 0xc]
test r8b, r8b
jne 0x1401c11da
movd xmm5, ecx
cvtss2sd xmm1, xmm5
jmp 0x1401c11de
cvtsi2sd xmm1, ecx
addsd xmm0, xmm1
movsd qword [rsp + rdx*8 + 0xe0], xmm0
inc rdx
jmp 0x1401c1198
inc r11
lea edx, [r11 - 1]
cmp edx, ebp
jl 0x1401c113e
xor edx, edx
cmp r9d, edx
jle 0x1401c122b
cvtsi2sd xmm0, dword [rsp + 0x38]
lea rcx, [rsp + 0xe0]
movsd xmm1, qword [rcx + rdx*8]
addsd xmm0, xmm0
divsd xmm1, xmm0
movsd qword [rcx + rdx*8], xmm1
inc rdx
jmp 0x1401c1201
xor r10d, r10d
lea r11, [rsp + 0xe0]
xor ecx, ecx
xorps xmm2, xmm2
mov rsi, qword [rsp + 0x50]
movsd qword [rsi + r10*8], xmm2
cmp r9d, ecx
jle 0x1401c128d
cmp byte [rbx + 0x26], 0
mov edx, dword [rax + rcx*8 + 0xc]
mov r8d, dword [rax + rcx*8 + 8]
jne 0x1401c126d
movd xmm4, edx
movd xmm5, r8d
cvtss2sd xmm0, xmm4
cvtss2sd xmm1, xmm5
jmp 0x1401c1276
cvtsi2sd xmm0, edx
cvtsi2sd xmm1, r8d
subsd xmm0, xmm1
subsd xmm0, qword [r11 + rcx*8]
inc rcx
mulsd xmm0, xmm0
addsd xmm2, xmm0
jmp 0x1401c123b
inc r10
add rax, 0x30
lea edx, [r10 - 1]
cmp ebp, edx
jg 0x1401c1236
mov edx, dword [rsp + 0x38]
mov r9, qword [rsp + 0x58]
mov r8, rsi
mov rcx, r13
xor esi, esi
call fcn.14012b7a0
mov eax, dword [rbx + 0x20]
lea ecx, [rax - 2]
mov rax, qword [r15 + 0x18]
movsxd rcx, ecx
lea rdx, [rax + 2]
xor eax, eax
mov rdi, rdx
rep stosb byte [rdi], al
mov dword [r15 + 0x14], 1
mov eax, dword [rbx + 0x20]
movzx ecx, byte [rbx + 0x27]
mov edi, 3
mov r14d, esi
sub eax, 4
cdq
idiv ecx
cdq
idiv edi
mov edx, ebp
sub edx, eax
cmp edx, esi
jle 0x1401c145b
movsxd r8, dword [r13 + rsi*4]
mov rdx, r15
mov rcx, rbx
xor edi, edi
imul r8, r8, 0x30
add r8, r12
call fcn.1401b30a0
mov rax, qword [rsp + 0x48]
mov rdx, qword [r8]
cmp rdx, qword [rax]
jne 0x1401c1335
cmp dword [rsp + 0x44], 0
mov r8, qword [r15 + 8]
jne 0x1401c132e
call fcn.1401bee30
jmp 0x1401c1333
call fcn.1401b6340
mov edi, eax
inc rsi
test edi, edi
je 0x1401c12d2
lea esi, [r14 + 1]
movsxd rsi, esi
lea rbp, [rsp + 0xb0]
test edi, edi
jne 0x1401c13ad
cmp dword [rsp + 0x38], esi
jle 0x1401c13ad
movsxd rdi, dword [r13 + rsi*4]
mov r8d, dword [rsp + 0x44]
mov r9, rbp
mov rcx, rbx
imul rdi, rdi, 0x30
lea r15, [r12 + rdi]
mov rdx, r15
call fcn.1401254b0
mov edi, eax
test eax, eax
jne 0x1401c13a8
mov r14, qword [rsp + 0xb0]
mov r9d, dword [rsp + 0x44]
mov r8, r15
mov rcx, rbx
mov rdx, r14
call fcn.1401c0910
mov rdx, r14
mov rcx, rbx
mov edi, eax
call fcn.1401b33d0
test edi, edi
cmove edi, eax
inc rsi
jmp 0x1401c134b
mov rcx, r12
call fcn.14020cdc0
jmp 0x1401c146d
mov r8, qword [rsp + 0x48]
mov rdx, r15
call fcn.14011fe90
mov edi, eax
test eax, eax
jne 0x1401c146d
mov rax, qword [rsp + 0x48]
cmp dword [rsp + 0x44], 0
mov rcx, rbx
mov r8, qword [r15 + 8]
mov rdx, qword [rax]
jne 0x1401c1421
movaps xmm6, xmmword [rsp + 0x110]
movaps xmm7, xmmword [rsp + 0x120]
movaps xmm8, xmmword [rsp + 0x130]
movaps xmm9, xmmword [rsp + 0x140]
add rsp, 0x158
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.1401bee30
movaps xmm6, xmmword [rsp + 0x110]
movaps xmm7, xmmword [rsp + 0x120]
movaps xmm8, xmmword [rsp + 0x130]
movaps xmm9, xmmword [rsp + 0x140]
add rsp, 0x158
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.1401b6340
mov rdx, r15
mov rcx, rbx
call fcn.140189210
mov edi, eax
jmp 0x1401c1340
movaps xmm6, xmmword [rsp + 0x110]
mov eax, edi
movaps xmm7, xmmword [rsp + 0x120]
movaps xmm8, xmmword [rsp + 0x130]
movaps xmm9, xmmword [rsp + 0x140]
add rsp, 0x158
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret