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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x128
movapd xmmword [rsp + 0x110], xmm14
movapd xmmword [rsp + 0x100], xmm13
movapd xmmword [rsp + 0xf0], xmm12
movapd xmmword [rsp + 0xe0], xmm11
movapd xmmword [rsp + 0xd0], xmm10
movapd xmmword [rsp + 0xc0], xmm9
movapd xmmword [rsp + 0xb0], xmm8
movapd xmmword [rsp + 0xa0], xmm7
movaps xmmword [rsp + 0x90], xmm6
mov r13, r9
xorpd xmm0, xmm0
movupd xmmword [r9 + 0x20], xmm0
movupd xmmword [r9 + 0x10], xmm0
movupd xmmword [r9], xmm0
test edx, edx
je 0x140090e5e
mov rbx, r8
mov ebp, edx
mov rax, qword [r8]
movzx edx, word [rax + 8]
and edx, 0x3f
lea r8, [0x1402a7820]
movzx edx, byte [rdx + r8]
dec edx
cmp edx, 1
ja 0x140090ec8
mov rcx, rax
call fcn.140029066
movsd qword [r13 + 0x20], xmm0
mov byte [r13 + 0x29], 1
xorpd xmm1, xmm1
ucomisd xmm0, xmm1
jb 0x140091078
ucomisd xmm0, qword [0x14022c138]
jae 0x140091078
mulsd xmm0, qword [0x14022c070]
addsd xmm0, qword [0x14022c140]
cvttsd2si rax, xmm0
mov qword [r13], rax
mov byte [r13 + 0x28], 1
jmp 0x140091078
mov rdx, r13
movaps xmm6, xmmword [rsp + 0x90]
movaps xmm7, xmmword [rsp + 0xa0]
movaps xmm8, xmmword [rsp + 0xb0]
movaps xmm9, xmmword [rsp + 0xc0]
movaps xmm10, xmmword [rsp + 0xd0]
movaps xmm11, xmmword [rsp + 0xe0]
movaps xmm12, xmmword [rsp + 0xf0]
movaps xmm13, xmmword [rsp + 0x100]
movaps xmm14, xmmword [rsp + 0x110]
add rsp, 0x128
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x140091bef
mov rdi, rcx
mov rcx, rax
mov dl, 1
call fcn.140029089
test rax, rax
je 0x140091801
mov r14, rax
mov dword [rsp + 0x3c], 1
mov r12b, byte [rax]
xor esi, esi
cmp r12b, 0x2d
sete sil
lea rcx, [rax + rsi]
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
lea rdx, [0x1402b6ea0]
lea r8, [rsp + 0x48]
lea r9, [rsp + 0x54]
call fcn.140091c48
cmp eax, 3
jne 0x140090f5e
lea r15, [rsi + r14]
add r15, 9
lea rax, [0x1402a79a0]
movzx ecx, byte [r15 + 1]
inc r15
test byte [rcx + rax], 1
jne 0x140090f2e
cmp cl, 0x54
je 0x140090f2e
mov rcx, r15
mov rdx, r13
call fcn.140091d2d
test eax, eax
je 0x14009103c
cmp byte [r15], 0
je 0x140091037
mov rcx, r14
mov rdx, r13
call fcn.140091d2d
test eax, eax
je 0x140091078
xor eax, eax
lea rdx, [0x1402b6e80]
lea r8, str.y
mov rcx, rdi
movzx r9d, byte [r14 + rax]
movzx r10d, byte [rax + rdx]
cmp r9b, r10b
jne 0x140090f9a
test r9, r9
jne 0x140090fa4
jmp 0x140090fa9
mov r9b, byte [r9 + r8]
cmp r9b, byte [r10 + r8]
jne 0x140090fee
inc rax
jmp 0x140090f84
mov rax, qword [rcx + 0x18]
mov rax, qword [rax + 0x88]
movsxd rdx, dword [rcx + 0x20]
lea rdx, [rdx + rdx*2]
cmp byte [rax + rdx*8], 0x40
jne 0x140091870
mov dword [rcx + 0x24], 1
mov rcx, qword [rcx]
mov qword [rsp + 0x20], 0xffffffffffffffff
lea rdx, [0x1402b6f40]
mov r8d, 0xffffffff
mov r9b, 1
call fcn.140027183
mov rcx, r14
call fcn.140200880
and eax, 0x3fffffff
lea rdx, [rsp + 0x60]
mov rcx, r14
mov r8d, eax
mov r9b, 1
call fcn.140029a2e
test eax, eax
jle 0x140091809
movsd xmm0, qword [rsp + 0x60]
movsd qword [r13 + 0x20], xmm0
mov byte [r13 + 0x29], 1
xorpd xmm1, xmm1
ucomisd xmm1, xmm0
jbe 0x140090e2d
jmp 0x140091078
mov byte [r13 + 0x2b], 0
mov byte [r13 + 0x28], 0
mov byte [r13 + 0x2a], 1
mov eax, dword [rsp + 0x48]
mov ecx, eax
neg ecx
cmp r12b, 0x2d
cmovne ecx, eax
mov dword [r13 + 8], ecx
mov eax, dword [rsp + 0x54]
mov dword [r13 + 0xc], eax
mov eax, dword [rsp + 0x50]
mov dword [r13 + 0x10], eax
cmp byte [r13 + 0x2c], 0
je 0x140091078
mov rcx, r13
call fcn.140091881
cmp ebp, 2
jl 0x1400917d1
mov eax, ebp
mov qword [rsp + 0x58], rax
mov r15d, 1
lea r14, str.y
xorps xmm6, xmm6
lea rbp, [0x1402a79a0]
xorpd xmm7, xmm7
lea rdi, [0x140237c60]
movapd xmm8, xmmword [0x14022be10]
movsd xmm9, qword [0x14022c148]
movsd xmm10, qword [0x14022c150]
movsd xmm11, qword [0x14022c158]
movsd xmm12, qword [0x14022c160]
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x40], rbx
mov rcx, qword [rbx + r15*8]
mov dl, 1
call fcn.140029089
mov r12, rax
mov rcx, qword [rbx + r15*8]
mov dl, 1
call fcn.14002f28e
test r12, r12
je 0x140091801
mov dword [rsp + 0x3c], 1
mov al, byte [r12]
movzx ebx, al
movzx ecx, byte [rbx + r14]
lea edx, [rcx - 0x30]
cmp edx, 0xa
jae 0x140091326
mov r13d, 1
movzx esi, byte [r12 + r13]
test esi, esi
je 0x140091142
cmp esi, 0x3a
je 0x140091142
test byte [rsi + rbp], 1
jne 0x140091142
inc r13
jmp 0x140091129
mov rcx, r12
lea rdx, [rsp + 0x48]
mov r8d, r13d
mov r9b, 1
call fcn.140029a2e
test eax, eax
jle 0x140091809
cmp esi, 0x3a
jne 0x140091210
add rbx, 0xffffffffffffffc6
cmp rbx, 0xfffffffffffffff6
mov rcx, r12
adc rcx, 0
movaps xmmword [rsp + 0x80], xmm6
movaps xmmword [rsp + 0x70], xmm6
movaps xmmword [rsp + 0x60], xmm6
lea rdx, [rsp + 0x60]
call fcn.140091d2d
mov ecx, 1
test eax, eax
mov r13, qword [rsp + 0x30]
jne 0x140091206
lea rcx, [rsp + 0x60]
call fcn.140091881
mov rcx, qword [rsp + 0x60]
add rcx, 0xfffffffffd6cd200
mov rax, rcx
movabs rdx, 0x636ba875fd33dc87
imul rdx
mov rax, rdx
shr rax, 0x3f
sar rdx, 0x19
add rdx, rax
imul rax, rdx, 0x5265c00
sub rcx, rax
mov rsi, rcx
neg rsi
cmp byte [r12], 0x2d
cmovne rsi, rcx
mov rcx, r13
call fcn.140091881
mov word [r13 + 0x2a], 0
mov byte [r13 + 0x2c], 0
add qword [r13], rsi
xor ecx, ecx
mov rbx, qword [rsp + 0x40]
jmp 0x1400917bf
mov eax, r13d
add r12, rax
dec r12
movzx eax, byte [r12 + 1]
inc r12
test byte [rax + rbp], 1
jne 0x140091219
mov rcx, r12
call fcn.140200880
mov r13, rax
and r13d, 0x3fffffff
lea eax, [r13 - 0xb]
cmp eax, 0xfffffff8
jb 0x140091809
lea eax, [r13 - 1]
mov cl, byte [r12 + rax]
and cl, 0xdf
cmp cl, 0x53
cmove r13d, eax
mov rcx, qword [rsp + 0x30]
call fcn.140091881
movsd xmm13, qword [rsp + 0x48]
xor eax, eax
ucomisd xmm7, xmm13
seta al
lea rcx, [0x14022c120]
movsd xmm14, qword [rcx + rax*8]
lea ecx, [r13 + 1]
xor eax, eax
mov rdx, rax
shl rdx, 5
movzx r8d, byte [rdx + rdi + 1]
cmp r13d, r8d
jne 0x140091305
mov r8, qword [rdx + rdi + 8]
xor r9d, r9d
mov r10d, ecx
movzx r11d, byte [r8 + r9]
test r11, r11
je 0x1400912cf
movzx r11d, byte [r11 + r14]
movzx esi, byte [r12 + r9]
mov bl, byte [rsi + r14]
cmp r11b, bl
jne 0x1400912db
dec r10d
inc r9
cmp r10d, 1
ja 0x1400912a4
jmp 0x1400912e4
movzx r8d, byte [r12 + r9]
mov bl, byte [r8 + r14]
xor r11d, r11d
movzx r8d, bl
cmp r11d, r8d
jne 0x140091305
movsd xmm0, qword [rdx + rdi + 0x10]
movapd xmm1, xmm0
xorpd xmm1, xmm8
ucomisd xmm13, xmm1
jbe 0x140091305
ucomisd xmm13, xmm0
jb 0x140091392
inc rax
cmp rax, 6
jne 0x140091287
mov ecx, 1
mov r13, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x40]
jmp 0x1400917b3
cmp ecx, 0x72
jle 0x14009137b
cmp ecx, 0x73
je 0x1400913eb
cmp ecx, 0x77
je 0x14009143b
cmp ecx, 0x75
jne 0x140091809
xor ecx, ecx
lea rdx, str.m98M
movzx edx, byte [rcx + rdx]
cmp al, dl
jne 0x140091360
test al, al
jne 0x140091371
jmp 0x14009148b
movzx eax, al
mov al, byte [rax + r14]
cmp al, byte [rdx + r14]
jne 0x140091809
mov al, byte [r12 + rcx + 1]
inc rcx
jmp 0x140091348
cmp ecx, 0x2b
je 0x140091123
cmp ecx, 0x2d
je 0x140091123
jmp 0x140091809
mov r12d, eax
shl r12, 5
movzx eax, byte [r12 + rdi]
cmp eax, 2
je 0x1400914e0
cmp eax, 1
jne 0x140091503
mov r13, qword [rsp + 0x30]
mov rcx, r13
call fcn.1400919ea
mov rcx, r13
call fcn.140091b2b
cvttsd2si ebx, xmm13
mov eax, dword [r13 + 0xc]
add eax, ebx
jle 0x140091758
lea ecx, [rax - 1]
mov edx, 0xaaaaaaab
imul rcx, rdx
shr rcx, 0x23
jmp 0x14009176e
xor edx, edx
test al, al
je 0x14009150d
xor ecx, ecx
movzx eax, al
movzx edx, byte [rax + r14]
lea rax, [0x1402b6fe0]
movzx eax, byte [rcx + rax]
cmp dl, byte [rax + r14]
jne 0x140091522
cmp rcx, 8
je 0x14009153c
mov al, byte [r12 + rcx + 1]
inc rcx
test al, al
jne 0x1400913f7
lea rax, [0x1402b6fe0]
add rcx, rax
xor edx, edx
jmp 0x14009152c
xor edx, edx
test al, al
je 0x140091516
xor ecx, ecx
movzx eax, al
movzx edx, byte [rax + r14]
lea rax, [0x1402b6fc0]
movzx eax, byte [rcx + rax]
cmp dl, byte [rax + r14]
jne 0x140091632
cmp rcx, 7
je 0x14009164c
mov al, byte [r12 + rcx + 1]
inc rcx
test al, al
jne 0x140091447
lea rax, [0x1402b6fc0]
add rcx, rax
xor edx, edx
jmp 0x14009163c
mov rax, qword [rsp + 0x30]
cmp byte [rax + 0x29], 0
je 0x140091809
mov rax, qword [rsp + 0x30]
movsd xmm0, qword [rax + 0x20]
mulsd xmm0, xmm10
addsd xmm0, xmm11
ucomisd xmm0, xmm7
jb 0x140091809
ucomisd xmm0, xmm12
jae 0x140091809
mov rcx, qword [rsp + 0x30]
mov byte [rcx + 0x2c], 0
cvttsd2si rax, xmm0
mov qword [rcx], rax
mov dword [rcx + 0x28], 1
jmp 0x14009174c
cvttsd2si ebx, xmm13
mov r13, qword [rsp + 0x30]
mov rcx, r13
call fcn.1400919ea
mov rcx, r13
call fcn.140091b2b
add dword [r13 + 8], ebx
jmp 0x14009177e
mov r13, qword [rsp + 0x30]
jmp 0x14009178f
lea rcx, [0x1402b6fe0]
jmp 0x14009152c
lea rcx, [0x1402b6fc0]
jmp 0x14009163c
lea rax, [0x1402b6fe0]
add rcx, rax
movzx eax, byte [rcx]
movzx eax, byte [rax + r14]
cmp edx, eax
jne 0x140091809
mov rax, qword [rsp + 0x30]
cmp byte [rax + 0x28], 0
jne 0x140091561
mov rax, qword [rsp + 0x30]
cmp byte [rax + 0x2a], 0
jne 0x140091561
mov rax, qword [rsp + 0x30]
cmp byte [rax + 0x2b], 0
je 0x140091809
mov rsi, qword [rsp + 0x30]
mov rcx, rsi
call fcn.1400919ea
mov word [rsi + 0x2b], 1
xor eax, eax
mov qword [rsi + 0x14], rax
mov qword [rsi + 0x20], rax
mov word [rsi + 0x28], 0
xor eax, eax
lea r8, [0x1402b7000]
movzx ecx, byte [r12 + rax + 9]
movzx edx, byte [rax + r8]
cmp cl, dl
jne 0x1400915a3
test rcx, rcx
jne 0x1400915ad
jmp 0x1400915b2
mov cl, byte [rcx + r14]
cmp cl, byte [rdx + r14]
jne 0x1400915be
inc rax
jmp 0x14009158d
mov dword [rsi + 0x10], 1
jmp 0x14009174c
xor eax, eax
movzx ecx, byte [r12 + rax + 9]
lea rdx, [0x1402b7020]
movzx edx, byte [rax + rdx]
cmp cl, dl
jne 0x1400915dc
test rcx, rcx
jne 0x1400915e6
jmp 0x1400915eb
mov cl, byte [rcx + r14]
cmp cl, byte [rdx + r14]
jne 0x1400915fe
inc rax
jmp 0x1400915c0
movabs rax, 0x100000001
mov qword [rsi + 0xc], rax
jmp 0x14009174c
xor eax, eax
movzx ecx, byte [r12 + rax + 9]
lea rdx, [0x1402b7040]
movzx edx, byte [rax + rdx]
cmp cl, dl
jne 0x14009161f
test rcx, rcx
jne 0x14009162d
jmp 0x14009174c
mov cl, byte [rcx + r14]
cmp cl, byte [rdx + r14]
jne 0x140091809
inc rax
jmp 0x140091600
lea rax, [0x1402b6fc0]
add rcx, rax
movzx eax, byte [rcx]
movzx eax, byte [rax + r14]
cmp edx, eax
jne 0x140091809
add r12, 8
mov rcx, r12
call fcn.140200880
and eax, 0x3fffffff
mov rcx, r12
lea rdx, [rsp + 0x48]
mov r8d, eax
mov r9b, 1
call fcn.140029a2e
test eax, eax
jle 0x140091809
movsd xmm0, qword [rsp + 0x48]
cvttsd2si ebx, xmm0
test ebx, ebx
js 0x140091809
cvttpd2dq xmm1, xmm0
cvtdq2pd xmm1, xmm1
ucomisd xmm0, xmm1
jne 0x140091809
ucomisd xmm0, xmm9
jae 0x140091809
mov rsi, qword [rsp + 0x30]
mov rcx, rsi
call fcn.1400919ea
mov rcx, rsi
call fcn.140091b2b
xor r12d, r12d
mov byte [rsi + 0x2c], r12b
mov byte [rsi + 0x28], r12b
mov rcx, rsi
call fcn.140091881
mov r8, qword [rsi]
lea rax, [r8 + 0x7b98a00]
movabs rcx, 0x636ba875fd33dc87
imul rcx
mov rcx, rdx
mov rax, rdx
shr rax, 0x3f
sar rcx, 0x19
add rcx, rax
mov rax, rcx
movabs rdx, 0x4924924924924925
imul rdx
mov rax, rdx
shr rax, 0x3f
sar rdx, 1
add rdx, rax
lea rax, [rdx*8]
sub rdx, rax
lea rax, [rcx + rdx]
mov r9d, ebx
cmp rax, r9
lea rcx, [rdx + rcx - 7]
cmovle rcx, rax
sub r9, rcx
imul rax, r9, 0x5265c00
add rax, r8
mov qword [rsi], rax
mov word [rsi + 0x2a], 0
mov byte [rsi + 0x2c], r12b
mov r13, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x40]
jmp 0x1400917c3
mov ecx, 0xc
sub ecx, eax
mov edx, 0xaaaaaaab
imul rcx, rdx
shr rcx, 0x23
neg ecx
add dword [r13 + 8], ecx
shl ecx, 2
lea ecx, [rcx + rcx*2]
sub eax, ecx
mov dword [r13 + 0xc], eax
mov byte [r13 + 0x28], 0
xorps xmm0, xmm0
cvtsi2sd xmm0, ebx
subsd xmm13, xmm0
mov rbx, qword [rsp + 0x40]
mov rcx, r13
call fcn.140091881
mulsd xmm13, qword [r12 + rdi + 0x18]
addsd xmm13, xmm14
cvttsd2si rax, xmm13
add qword [r13], rax
xor ecx, ecx
mov word [r13 + 0x2a], 0
mov byte [r13 + 0x2c], 0
test ecx, ecx
jne 0x140091809
inc r15
cmp r15, qword [rsp + 0x58]
jne 0x1400910e1
mov rcx, r13
call fcn.140091881
mov dword [rsp + 0x3c], 1
cmp byte [r13 + 0x2e], 0
jne 0x140091809
movabs rax, 0x1a6401072fdff
xor ecx, ecx
cmp qword [r13], rax
seta cl
mov dword [rsp + 0x3c], ecx
jmp 0x140091809
mov dword [rsp + 0x3c], 1
mov eax, dword [rsp + 0x3c]
movaps xmm6, xmmword [rsp + 0x90]
movaps xmm7, xmmword [rsp + 0xa0]
movaps xmm8, xmmword [rsp + 0xb0]
movaps xmm9, xmmword [rsp + 0xc0]
movaps xmm10, xmmword [rsp + 0xd0]
movaps xmm11, xmmword [rsp + 0xe0]
movaps xmm12, xmmword [rsp + 0xf0]
movaps xmm13, xmmword [rsp + 0x100]
movaps xmm14, xmmword [rsp + 0x110]
add rsp, 0x128
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rdx, r13
call 0x140091bef
test eax, eax
jne 0x140091809
jmp 0x140091078
push rsi
push rdi
sub rsp, 0x28
mov rsi, rdx
mov rdi, qword [rcx + 0x18]
mov rax, qword [rdi + 0x48]
test rax, rax
je 0x140091c15
mov qword [rsi], rax
test rax, rax
jle 0x140091c37
mov byte [rsi + 0x28], 1
xor eax, eax
jmp 0x140091c3c
add rdi, 0x48
mov rax, qword [rcx]
mov rax, qword [rax + 0x28]
mov rcx, qword [rax]
mov rdx, rdi
call fcn.14002f1f1
test eax, eax
je 0x140091c43
xor eax, eax
mov qword [rdi], rax
mov qword [rsi], rax
mov eax, 1
add rsp, 0x28
pop rdi
pop rsi
ret
mov rax, qword [rdi]
jmp 0x140091c05