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

Disassembly:
sub rsp, 0x28
test rdx, rdx
mov rax, rdx
jne 0x140125721
add rsp, 0x28
ret
cmp dword [rdx + 0x34], 0
mov qword [rsp + 0x30], rbx
jne 0x14012573a
xor ebx, ebx
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x28
ret
xor ebx, ebx
cmp dword [rdx + 0x38], ebx
mov dword [rsp + 0x38], ebx
je 0x1401257ad
mov edx, dword [rdx + 0x30]
lea r9, [rsp + 0x48]
lea r8, [0x1401abae0]
mov rcx, rax
mov dword [rsp + 0x40], 4
mov qword [rsp + 0x48], rbx
call fcn.1400dd500
test eax, eax
je 0x1401257ad
mov rcx, qword [rsp + 0x48]
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x38]
mov rax, qword [rcx]
mov qword [rsp + 0x20], rdi
call qword [rax + 0x20]
mov rcx, qword [rsp + 0x48]
test rcx, rcx
mov edi, eax
je 0x140125799
mov rdx, qword [rcx]
call qword [rdx + 0x10]
test edi, edi
mov rdi, qword [rsp + 0x20]
js 0x1401257ad
cmp dword [rsp + 0x38], ebx
jle 0x1401257ad
mov ebx, 1
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x28
ret
push rdi
sub rsp, 0x60
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov qword [rsp + 0x70], rbx
movaps xmmword [rsp + 0x50], xmm6
movaps xmmword [rsp + 0x40], xmm7
mov rcx, rdx
xor edi, edi
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdi
xorps xmm7, xmm7
movaps xmm6, xmm7
mov rax, qword [rdx]
lea rdx, [rsp + 0x28]
call qword [rax + 0x28]
test eax, eax
js 0x1401258f9
mov dword [rsp + 0x78], edi
mov rcx, qword [rsp + 0x28]
mov rax, qword [rcx]
lea rdx, [rsp + 0x78]
call qword [rax + 0x18]
test eax, eax
js 0x1401258f9
mov ebx, edi
cmp dword [rsp + 0x78], ebx
jle 0x1401258f9
nop
mov rcx, qword [rsp + 0x28]
mov rax, qword [rcx]
lea r8, [rsp + 0x20]
mov edx, ebx
call qword [rax + 0x20]
test eax, eax
js 0x1401258f9
mov rcx, qword [rsp + 0x20]
mov rax, qword [rcx]
lea rdx, [rsp + 0x88]
call qword [rax + 0x18]
test eax, eax
js 0x1401258f9
cmp dword [rsp + 0x88], 1
jne 0x1401258d2
movss dword [rsp + 0x80], xmm7
mov rcx, rdi
mov qword [rsp + 0x30], rcx
mov r9, qword [rsp + 0x20]
test r9, r9
je 0x1401258a3
mov rax, qword [r9]
lea r8, [rsp + 0x30]
lea rdx, [0x1401b3578]
mov rcx, r9
call qword [rax]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx]
lea rdx, [rsp + 0x80]
call qword [rax + 0x18]
movss xmm5, dword [rsp + 0x80]
comiss xmm5, xmm6
jbe 0x1401258c2
movaps xmm6, xmm5
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x1401258d2
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x20]
test rcx, rcx
je 0x1401258ea
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, rdi
mov qword [rsp + 0x20], rcx
add ebx, 1
cmp ebx, dword [rsp + 0x78]
jl 0x140125830
jmp 0x1401258fe
mov rcx, qword [rsp + 0x20]
test rcx, rcx
je 0x14012590e
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsp + 0x20], rdi
mov rcx, qword [rsp + 0x28]
test rcx, rcx
je 0x14012591e
mov rax, qword [rcx]
call qword [rax + 0x10]
mulss xmm6, dword [0x1401b8f40]
cvttss2si eax, xmm6
mov rbx, qword [rsp + 0x70]
movaps xmm6, xmmword [rsp + 0x50]
movaps xmm7, xmmword [rsp + 0x40]
add rsp, 0x60
pop rdi
ret
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
sub rsp, 0x40
lea eax, [rdx - 0x21ff0180]
mov ebx, edx
mov rbp, rcx
cmp eax, 0x2d
ja case.0x14012599d.570360203
lea rcx, [0x140000000]
movzx eax, byte [rcx + rax + 0x125e80]
mov r9d, dword [rcx + rax*4 + 0x125e50]
add r9, rcx
jmp r9
cmp edx, 0x21ff0181
jne 0x1401259b1
lea rcx, [rbp + 0x180]
jmp 0x1401259c9
cmp edx, 0x21ff0191
jne 0x1401259c2
lea rcx, [rbp + 0x1b8]
jmp 0x1401259c9
lea rcx, [rbp + 0x1f0]
test rcx, rcx
je case.0x14012599d.570360203
movsxd rdx, r8d
call fcn.140154ad0
test rax, rax
je case.0x14012599d.570360203
mov qword [rsp + 0x50], r12
mov r12, qword [rax + 0x10]
test r12, r12
jne 0x140125a00
xor eax, eax
mov r12, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
add rsp, 0x40
pop rsi
ret
lea r8, [rsp + 0x24]
lea rdx, [rsp + 0x58]
xor esi, esi
mov rcx, r12
mov dword [rsp + 0x58], esi
call fcn.140124fa0
mov r8d, dword [rsp + 0x58]
mov rdx, r12
mov rcx, rbp
mov ebx, eax
call fcn.1401276f0
test ebx, ebx
cmovne esi, dword [rsp + 0x58]
mov eax, esi
jmp 0x1401259eb
xor eax, eax
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
add rsp, 0x40
pop rsi
ret
cmp edx, 0x21ff0183
jne 0x140125a58
add rbp, 0x180
jmp 0x140125a70
cmp edx, 0x21ff0193
jne 0x140125a69
add rbp, 0x1b8
jmp 0x140125a70
add rbp, 0x1f0
test rbp, rbp
je 0x140125a91
xor esi, esi
cmp r8d, dword [rbp + 0x18]
setl sil
mov eax, esi
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
add rsp, 0x40
pop rsi
ret
xor esi, esi
mov eax, esi
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
add rsp, 0x40
pop rsi
ret
cmp edx, 0x21ff0181
jne 0x140125ab6
lea rcx, [rbp + 0x180]
jmp 0x140125ace
cmp edx, 0x21ff0191
jne 0x140125ac7
lea rcx, [rbp + 0x1b8]
jmp 0x140125ace
lea rcx, [rbp + 0x1f0]
test rcx, rcx
je case.0x14012599d.570360203
movsxd rdx, r8d
call fcn.140154ad0
test rax, rax
je case.0x14012599d.570360203
mov rcx, qword [rax + 0x10]
test rcx, rcx
je case.0x14012599d.570360203
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x24]
xor esi, esi
mov dword [rsp + 0x58], esi
call fcn.140124fa0
test eax, eax
cmovne esi, dword [rsp + 0x58]
mov eax, esi
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
add rsp, 0x40
pop rsi
ret
cmp edx, 0x21ff0180
jne 0x140125b34
add rbp, 0x180
jmp 0x140125b4c
cmp edx, 0x21ff0190
jne 0x140125b45
add rbp, 0x1b8
jmp 0x140125b4c
add rbp, 0x1f0
test rbp, rbp
je 0x140125a91
mov esi, dword [rbp + 0x18]
mov eax, esi
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
add rsp, 0x40
pop rsi
ret
cmp edx, 0x21ff0182
jne 0x140125b7b
lea rcx, [rbp + 0x180]
jmp 0x140125b93
cmp edx, 0x21ff0192
jne 0x140125b8c
lea rcx, [rbp + 0x1b8]
jmp 0x140125b93
lea rcx, [rbp + 0x1f0]
test rcx, rcx
je case.0x14012599d.570360203
movsxd rdx, r8d
call fcn.140154ad0
test rax, rax
je case.0x14012599d.570360203
mov rcx, qword [rax + 0x10]
test rcx, rcx
je case.0x14012599d.570360203
xor esi, esi
lea rdx, [rsp + 0x58]
mov dword [rsp + 0x58], esi
mov rax, qword [rcx]
call qword [rax + 0x18]
test eax, eax
je 0x140125bda
cmp dword [rsp + 0x58], esi
je 0x140125bda
mov esi, 1
mov eax, esi
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
add rsp, 0x40
pop rsi
ret
lea rcx, [rbp + 0x1b8]
movsxd rdx, r8d
call fcn.140154ad0
test rax, rax
je case.0x14012599d.570360203
mov rcx, qword [rax + 0x10]
test rcx, rcx
je case.0x14012599d.570360203
lea rdx, [0x1401b3618]
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
add rsp, 0x40
pop rsi
jmp fcn.14013dc48
lea rcx, [rbp + 0x1f0]
movsxd rdx, r8d
movaps xmmword [rsp + 0x30], xmm6
call fcn.140154ad0
test rax, rax
je 0x140125caf
mov rcx, qword [rax + 0x10]
xorps xmm6, xmm6
test rcx, rcx
movss dword [rsp + 0x58], xmm6
je 0x140125caf
cmp ebx, 0x21ff01a5
jne 0x140125c77
mov eax, dword [rcx + 0x34]
movaps xmm6, xmmword [rsp + 0x30]
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
add rsp, 0x40
pop rsi
ret
cmp ebx, 0x21ff01a4
jne 0x140125caf
cmp dword [rcx + 0x34], 0
je 0x140125ca9
lea rdx, [rsp + 0x58]
call fcn.1400dcbe0
test eax, eax
je 0x140125ca9
movss xmm0, dword [rsp + 0x58]
ucomiss xmm0, xmm6
jp 0x140125ca0
je 0x140125ca9
mov esi, 1
mov eax, esi
jmp 0x140125c62
xor esi, esi
mov eax, esi
jmp 0x140125c62
xor eax, eax
jmp 0x140125c62
lea rcx, [rbp + 0x1f0]
test rcx, rcx
je case.0x14012599d.570360203
movsxd rdx, r8d
call fcn.140154ad0
test rax, rax
je case.0x14012599d.570360203
mov rax, qword [rax + 0x10]
test rax, rax
je case.0x14012599d.570360203
cmp ebx, 0x21ff01a6
jne 0x140125cfc
mov eax, dword [rax + 0x2c]
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
add rsp, 0x40
pop rsi
ret
mov eax, dword [rax + 0x34]
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
add rsp, 0x40
pop rsi
ret
lea rcx, [rbp + 0x1f0]
test rcx, rcx
je case.0x14012599d.570360203
cmp r8d, 0x63
jne 0x140125d2c
mov r8d, dword [rbp + 0x29c]
movsxd rdx, r8d
call fcn.140154ad0
test rax, rax
je case.0x14012599d.570360203
mov rbx, qword [rax + 0x10]
test rbx, rbx
je case.0x14012599d.570360203
cmp dword [rbx + 0x34], 0
je 0x140125d67
lea r9, [rsp + 0x24]
lea r8, [rsp + 0x28]
lea rdx, [rsp + 0x20]
mov rcx, rbx
call fcn.1400dca80
xor esi, esi
cmp dword [rbx + 0x34], esi
jne 0x140125d72
mov eax, esi
jmp 0x140125d7f
lea rdx, [rsp + 0x58]
mov rcx, rbx
call fcn.1400dcbe0
movss xmm0, dword [rsp + 0x58]
test eax, eax
subss xmm0, dword [rsp + 0x20]
divss xmm0, dword [rsp + 0x24]
cvttss2si ecx, xmm0
cmovne esi, ecx
mov eax, esi
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
add rsp, 0x40
pop rsi
ret
lea rcx, [rbp + 0x1f0]
test rcx, rcx
je case.0x14012599d.570360203
movsxd rdx, r8d
call fcn.140154ad0
test rax, rax
je case.0x14012599d.570360203
mov rcx, qword [rax + 0x10]
test rcx, rcx
je case.0x14012599d.570360203
xor esi, esi
mov dword [rsp + 0x58], esi
cmp dword [rcx + 0x2c], esi
je 0x140125bda
lea rdx, [rsp + 0x58]
call fcn.1400dc760
jmp 0x140125bcb
cmp edx, 0x21ff0197
jne 0x140125e09
lea rcx, [rbp + 0x228]
jmp 0x140125e10
lea rcx, [rbp + 0x260]
test rcx, rcx
je case.0x14012599d.570360203
movsxd rdx, r8d
call fcn.140154ad0
test rax, rax
je case.0x14012599d.570360203
mov rdx, qword [rax + 0x10]
test rdx, rdx
je case.0x14012599d.570360203
mov rcx, rbp
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
add rsp, 0x40
pop rsi
jmp 0x1401257c0
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x30
cmp edx, 0x21ff0180
movsxd rsi, r8d
mov edi, edx
mov rbx, rcx
jb 0x140126f16
mov r8d, esi
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
jmp 0x140125960
mov rcx, qword [rcx + 0xf0]
test rcx, rcx
je case.0x140126fa7.570360149
cmp dword [rbx + 0x298], esi
je 0x140126f87
cmp qword [rcx + 0x1f8], 1
jl case.0x140126fa7.570360149
cmp qword [rcx + 0x230], rsi
jl case.0x140126fa7.570360149
test r8d, r8d
jne 0x140126f59
add rcx, 0x1e0
xor edx, edx
jmp 0x140126f66
lea eax, [rsi - 1]
add rcx, 0x218
movsxd rdx, eax
call fcn.140154ad0
test rax, rax
jne 0x140126f76
call fcn.14013de24
int3
mov rax, qword [rax + 0x10]
mov dword [rbx + 0x298], esi
mov qword [rbx + 0x100], rax
lea eax, [rdi - 0x21ff0150]
cmp eax, 0x15
ja case.0x140126fa7.570360149
lea rdx, [0x140000000]
mov ecx, dword [rdx + rax*4 + 0x12732c]
add rcx, rdx
jmp rcx
mov rcx, qword [rbx + 0x100]
xor edi, edi
test rcx, rcx
mov eax, edi
mov dword [rsp + 0x48], eax
jne 0x140126fd6
mov ecx, edi
test ecx, ecx
cmovne edi, eax
mov eax, edi
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
lea r8, [rsp + 0x24]
lea rdx, [rsp + 0x48]
call fcn.140124fa0
mov ecx, eax
mov eax, dword [rsp + 0x48]
test ecx, ecx
cmovne edi, eax
mov eax, edi
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
mov rax, qword [rbx + 0xf0]
mov eax, dword [rax + 0x230]
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
mov rcx, qword [rbx + 0x100]
xor edi, edi
test rcx, rcx
mov eax, edi
mov dword [rsp + 0x48], eax
je 0x140126fbd
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x24]
jmp 0x140126fe0
mov rax, qword [rbx + 0x100]
mov eax, dword [rax + 0x34]
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
mov rax, qword [rbx + 0x100]
mov eax, dword [rax + 0x2c]
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
mov rax, qword [rbx + 0x100]
mov eax, dword [rax + 0x40]
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
mov rax, qword [rbx + 0x100]
mov eax, dword [rax + 0x24]
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
mov rax, qword [rbx + 0x100]
mov eax, dword [rax + 0x1c]
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
mov rax, qword [rbx + 0x100]
mov eax, dword [rax + 0xf0]
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
mov rcx, qword [rbx + 0x100]
xor edi, edi
lea rdx, [rsp + 0x48]
mov dword [rsp + 0x48], edi
mov rax, qword [rcx]
call qword [rax + 0x18]
test eax, eax
je 0x140126ff0
cmp dword [rsp + 0x48], edi
je 0x140126ff0
mov edi, 1
mov eax, edi
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
mov rdx, qword [rbx + 0x100]
mov rcx, rbx
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
jmp fcn.140125260
mov rdx, qword [rbx + 0x100]
mov rcx, rbx
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
jmp 0x140125710
mov rcx, qword [rbx + 0x90]
mov edi, 3
test rcx, rcx
je 0x140126ff0
add rcx, 0x1bc0
call fcn.1400df830
test rax, rax
je 0x140126ff0
lea rcx, [rax + 0x1e0]
mov rdx, rsi
call fcn.140154ad0
test rax, rax
jne 0x14012719f
call fcn.14013de24
int3
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140126ff0
cmp dword [rcx + 0x34], 0
xorps xmm1, xmm1
movss dword [rsp + 0x48], xmm1
movss dword [rsp + 0x20], xmm1
movss dword [rsp + 0x24], xmm1
movaps xmm0, xmm1
movaps xmm2, xmm1
je 0x1401271f3
lea r9, [rsp + 0x24]
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x48]
call fcn.1400dca80
movss xmm1, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x20]
movss xmm2, dword [rsp + 0x24]
subss xmm0, xmm1
addss xmm0, dword [0x1401b91a8]
divss xmm0, xmm2
cvttss2si edi, xmm0
mov eax, edi
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
xorps xmm1, xmm1
mov rcx, qword [rbx + 0x100]
movss dword [rsp + 0x48], xmm1
movss dword [rsp + 0x24], xmm1
movss dword [rsp + 0x20], xmm1
movaps xmm0, xmm1
movaps xmm2, xmm1
cmp dword [rcx + 0x34], 0
je 0x140127267
lea r9, [rsp + 0x20]
lea r8, [rsp + 0x24]
lea rdx, [rsp + 0x48]
call fcn.1400dca80
movss xmm1, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x24]
movss xmm2, dword [rsp + 0x20]
subss xmm0, xmm1
addss xmm0, dword [0x1401b91a8]
divss xmm0, xmm2
cvttss2si eax, xmm0
add eax, 1
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
test esi, esi
mov edi, 1
jne 0x1401272d1
mov rax, qword [rbx + 0xf0]
cmp dword [rax + 0x1d8], 4
jne 0x140126ff0
mov rax, qword [rbx + 0x90]
bt dword [rax + 0x5c], 8
jae 0x140126ff0
xor edi, edi
mov eax, edi
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
jle 0x140126ff0
mov rax, qword [rbx + 0xf0]
cmp dword [rax + 0x1d8], 4
jne 0x140126ff0
mov rax, qword [rbx + 0x90]
mov ecx, edi
mov edi, 0
test byte [rax + 0x1c4], 0x10
cmovne ecx, edi
mov edi, ecx
mov eax, ecx
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x50]
xor eax, eax
add rsp, 0x30
pop rdi
ret