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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov dword [rax + 0x18], r8d
mov qword [rax + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xe0
mov ebx, dword [rsp + 0x130]
lea r12d, [r8 + 0xd]
movaps xmmword [rax - 0x48], xmm6
mov r13, r9
mov dword [rsp + 0xac], r12d
mov ebp, r8d
mov r15, rdx
cmp r8d, r12d
jae case.0x18009deb8.292
mov r10, qword [rsp + 0xa0]
lea rcx, [0x180000000]
mov r14, qword [rsp + 0xa0]
xor edi, edi
mov r9, qword [rsp + 0xa0]
xorps xmm6, xmm6
mov esi, dword [rsp + 0x130]
mov eax, dword [rsp + 0x130]
mov r8d, dword [rsp + 0x130]
mov edx, dword [rsp + 0x130]
mov qword [rsp + 0x60], r10
mov qword [rsp + 0xb8], r14
mov qword [rsp + 0x50], r9
mov dword [rsp + 0x98], ebx
mov dword [rsp + 0x68], esi
mov dword [rsp + 0x90], eax
mov dword [rsp + 0x44], r8d
mov dword [rsp + 0x40], edx
mov r11, qword [rsp + 0x140]
lea eax, [rbp - 0x122]
cmp eax, 0x28
ja case.default.0x18009deb8
movzx eax, byte [rcx + rax + 0x9ec94]
mov ecx, dword [rcx + rax*4 + 0x9ec60]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
cmp dword [r13 + 0x64], 0
jle case.0x18009deb8.302
cmp qword [r13 + 0x80], 0
je case.0x18009deb8.302
mov r8, qword [r13 + 0xc0]
xor r9d, r9d
mov edx, 0x95
xor ecx, ecx
call fcn.18004a730
mov r8, qword [r13 + 0x90]
test r8, r8
je 0x18009df47
movss xmm0, dword [r13 + 0x98]
comiss xmm0, xmm6
jbe 0x18009df47
movss xmm1, dword [r13 + 0x9c]
comiss xmm0, xmm1
jbe 0x18009df47
movsxd rax, dword [r13 + 0x64]
movss xmm0, dword [r13 + 0xa4]
movss dword [rsp + 0x38], xmm0
movss dword [rsp + 0x30], xmm1
lea rcx, [rax + rax*2]
mov rax, qword [r13 + 0x88]
mov qword [rsp + 0x28], rax
mov eax, dword [r13 + 0xa8]
mov dword [rsp + 0x20], eax
jmp 0x18009df7b
movsxd rax, dword [r13 + 0x64]
xor r8d, r8d
movss xmm0, dword [r13 + 0xa4]
movss dword [rsp + 0x38], xmm0
movss dword [rsp + 0x30], xmm6
lea rcx, [rax + rax*2]
mov rax, qword [r13 + 0x88]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 1
mov r9, qword [r13 + 0x68]
mov r10, qword [r13 + 0x10]
mov rdx, qword [r13 + 0x80]
mov r9, qword [r9 + rcx*8 - 0x18]
mov rcx, qword [r13 + 0xc0]
call qword [r10 + 0x120]
mov rax, qword [r13 + 0xc0]
mov r9d, SHTestTokenMembership
mov qword [rsp + 0x30], rdi
xor r8d, r8d
mov qword [rsp + 0x28], rdi
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rax
call fcn.18001f7a0
jmp 0x18009ebf6
mov r14, qword [r10 + 0x20]
mov r9, qword [r13 + 0x78]
mov qword [rsp + 0xb8], r14
mov qword [rsp + 0x50], r9
mov esi, dword [r14 + 0x1668]
mov dword [rsp + 0x68], esi
test r15, r15
jne case.0x18009deb8.302
mov eax, 0xffffff7d
jmp 0x18009ec24
mov rdi, 0xffffffffffffffff
inc rdi
cmp byte [rdi + r13], 0
jne 0x18009e004
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll___p__environ]
mov rbx, qword [rax]
mov rax, qword [rbx]
test rax, rax
je 0x18009e05e
nop
mov r8, rdi
mov rdx, r13
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
jne 0x18009e052
mov rax, qword [rbx]
cmp byte [rdi + rax], 0x3d
jne 0x18009e052
mov rdx, rbx
nop
mov rcx, qword [rdx + 8]
mov qword [rdx], rcx
lea rdx, [rdx + 8]
test rcx, rcx
jne 0x18009e040
jmp 0x18009e056
add rbx, 8
mov rax, qword [rbx]
test rax, rax
jne 0x18009e020
xor edi, edi
mov ebx, edi
mov dword [rsp + 0x98], ebx
jmp 0x18009ebf6
mov eax, dword [r11]
lea r8, [rsp + 0x130]
mov r9, r13
mov dword [r15 + 0xc], eax
lea rdx, [rsp + 0x58]
mov dword [rsp + 0x130], eax
mov ecx, 0x9f
mov dword [rsp + 0x58], eax
call fcn.18005ed60
mov qword [r15 + 0x28], rax
jmp 0x18009ebf6
mov eax, dword [r13 + 0x28]
cmp dword [r13 + 0x24], eax
jle 0x18009e0b6
cmp eax, 0xffffffff
jne 0x18009dff3
mov eax, dword [r13 + 0x38]
mov dword [r13 + 0x34], eax
mov eax, dword [r15 + 0x2c]
mov dword [r13 + 0x38], eax
mov rax, qword [r13 + 0x50]
mov dword [r13 + 0x3c], 0xffffffff
cmp rax, 0xffffffffffffffff
je 0x18009e0e5
inc rax
cmp rax, qword [r15 + 0x48]
je case.0x18009deb8.302
mov qword [r13 + 0x48], 0xffffffffffffffff
mov qword [r9 + 0xc8], 0xffffffffffffffff
jmp case.0x18009deb8.302
mov r10, qword [r13 + 8]
mov qword [rsp + 0x60], r10
jmp case.0x18009deb8.302
mov rax, qword [r15 + 0x48]
mov qword [r13 + 0x50], rax
cmp qword [r15], 0
je 0x18009ea36
mov ebx, dword [rsp + 0x68]
mov edi, 0xa0
mov dword [rsp + 0x58], edi
lea ecx, [rbx + 1]
nop dword [rax]
mov eax, edi
sub eax, 0x9e
je 0x18009e19f
sub eax, 1
je 0x18009e174
cmp eax, 1
jne 0x18009ea03
movsxd rax, dword [r13 + 0x38]
mov r8d, dword [r14]
mov edx, dword [r14 + 4]
sar r8d, cl
mov r11d, dword [r14 + rax*4]
sar r11d, cl
sar edx, cl
mov dword [rsp + 0x40], edx
mov dword [rsp + 0x90], r11d
mov dword [rsp + 0x44], r8d
jmp 0x18009ea03
movsxd rax, dword [r15 + 0x78]
add qword [r13 + 0x58], rax
movsxd rax, dword [r15 + 0x7c]
add qword [r13 + 0x60], rax
movsxd rax, dword [r15 + 0x80]
add qword [r13 + 0x68], rax
movsxd rax, dword [r15 + 0x84]
add qword [r13 + 0x70], rax
jmp 0x18009ea03
mov ecx, dword [r13 + 0x40]
xor eax, eax
movsxd rsi, dword [rsp + 0x90]
test ecx, ecx
mov r11d, eax
mov dword [rsp + 0x94], eax
cmove r11d, edx
movsxd r12, edx
mov r10d, edx
movsxd rbp, r8d
cmove r10d, eax
mov dword [rsp + 0x70], r11d
mov rax, qword [rsp + 0x60]
mov dword [rsp + 0xa8], r10d
mov qword [rsp + 0xb0], r12
mov qword [rsp + 0x78], rbp
cmp dword [rax + 4], 0
mov qword [rsp + 0x80], rsi
jle 0x18009e9a3
movsxd r14, r11d
xor edi, edi
movsxd rax, r10d
mov qword [rsp + 0xa0], r14
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0x88], rdi
nop dword [rax + rax]
mov eax, dword [r13 + 0x38]
xor r8d, r8d
xor edx, edx
mov ecx, 0xe3
cmp dword [r13 + 0x34], edx
je 0x18009e523
test eax, eax
je 0x18009e3a3
mov eax, dword [r9 + 0xc]
lea r9, [rsp + 0x48]
sub eax, ebx
mov dword [rsp + 0x48], eax
call fcn.180025d40
mov r9, rax
xor esi, esi
mov rax, qword [r13 + 0x10]
mov rcx, qword [rdi + rax]
mov rax, qword [r15]
lea r14, [rcx + r14*4]
mov r10, qword [rdi + rax]
cmp r12, 4
jl 0x18009e34c
mov rbp, r10
lea r11, [r12 - 4]
mov rdi, r10
shr r11, 2
mov r8, r9
lea rdx, [r9 - 8]
sub rbp, r9
lea rcx, [r14 + 4]
sub rdi, r14
lea rdx, [rdx + r12*4]
sub r8, r14
inc r11
lea rsi, [r11*4]
nop dword [rax + rax]
movss xmm1, dword [r8 + rcx - 4]
lea rax, [r8 + rcx]
mulss xmm1, dword [rdi + rcx - 4]
movss xmm0, dword [rdx + 4]
mulss xmm0, dword [rcx - 4]
addss xmm1, xmm0
movss dword [rcx - 4], xmm1
movss xmm0, dword [rdx]
mulss xmm0, dword [rcx]
movss xmm2, dword [rax + rbp]
mulss xmm2, dword [rax]
addss xmm2, xmm0
movss dword [rcx], xmm2
movss xmm0, dword [rdx - 4]
mulss xmm0, dword [rcx + 4]
movss xmm1, dword [r8 + rcx + 4]
mulss xmm1, dword [rdi + rcx + 4]
addss xmm1, xmm0
movss dword [rcx + 4], xmm1
movss xmm2, dword [r8 + rcx + 8]
movss xmm0, dword [rdx - 8]
sub rdx, 0x10
mulss xmm2, dword [rdi + rcx + 8]
mulss xmm0, dword [rcx + 8]
addss xmm2, xmm0
movss dword [rcx + 8], xmm2
add rcx, 0x10
sub r11, 1
jne 0x18009e2b0
mov rbp, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x88]
cmp rsi, r12
jge 0x18009e8ac
sub r10, r9
lea rcx, [r14 + rsi*4]
mov rdx, r12
mov r8, r12
sub rdx, rsi
dec rdx
lea rdx, [r9 + rdx*4]
sub r9, r14
sub r8, rsi
movss xmm0, dword [rdx]
lea rax, [rcx + r9]
mulss xmm0, dword [rcx]
sub rdx, 4
movss xmm1, dword [rax + r10]
mulss xmm1, dword [rax]
addss xmm1, xmm0
movss dword [rcx], xmm1
add rcx, 4
sub r8, 1
jne 0x18009e372
jmp 0x18009e8ac
mov eax, dword [r9 + 8]
lea r9, [rsp + 0x48]
sub eax, ebx
mov dword [rsp + 0x48], eax
call fcn.180025d40
mov r9, rax
xor esi, esi
mov eax, dword [rsp + 0x40]
cdq
sub eax, edx
sar eax, 1
movsxd r8, eax
mov eax, dword [rsp + 0x44]
cdq
sub eax, edx
sar eax, 1
movsxd rcx, eax
mov rax, qword [r13 + 0x10]
sub r8, rcx
add r8, r14
mov rcx, qword [rdi + rax]
mov rax, qword [r15]
lea r14, [rcx + r8*4]
mov r10, qword [rdi + rax]
cmp rbp, 4
jl 0x18009e4cc
mov r11, qword [rsp + 0x78]
lea rcx, [r14 + 4]
add rbp, 0xfffffffffffffffe
add r11, 0xfffffffffffffffc
mov rdi, r10
shr r11, 2
mov r8, r9
sub rdi, r14
sub r8, r14
lea rdx, [r9 + rbp*4]
mov rbp, r10
sub rbp, r9
inc r11
lea rsi, [r11*4]
nop dword [rax]
movss xmm1, dword [r8 + rcx - 4]
lea rax, [r8 + rcx]
mulss xmm1, dword [rdi + rcx - 4]
movss xmm0, dword [rdx + 4]
mulss xmm0, dword [rcx - 4]
addss xmm1, xmm0
movss dword [rcx - 4], xmm1
movss xmm0, dword [rdx]
mulss xmm0, dword [rcx]
movss xmm2, dword [rax + rbp]
mulss xmm2, dword [rax]
addss xmm2, xmm0
movss dword [rcx], xmm2
movss xmm0, dword [rdx - 4]
mulss xmm0, dword [rcx + 4]
movss xmm1, dword [r8 + rcx + 4]
mulss xmm1, dword [rdi + rcx + 4]
addss xmm1, xmm0
movss dword [rcx + 4], xmm1
movss xmm2, dword [r8 + rcx + 8]
movss xmm0, dword [rdx - 8]
sub rdx, 0x10
mulss xmm2, dword [rdi + rcx + 8]
mulss xmm0, dword [rcx + 8]
addss xmm2, xmm0
movss dword [rcx + 8], xmm2
add rcx, 0x10
sub r11, 1
jne 0x18009e430
mov rbp, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x88]
cmp rsi, rbp
jge 0x18009e8ac
sub r10, r9
lea rcx, [r14 + rsi*4]
mov rdx, rbp
mov r8, rbp
sub rdx, rsi
dec rdx
lea rdx, [r9 + rdx*4]
sub r9, r14
sub r8, rsi
movss xmm0, dword [rcx]
lea rax, [rcx + r9]
mulss xmm0, dword [rdx]
sub rdx, 4
movss xmm1, dword [rax + r10]
mulss xmm1, dword [rax]
addss xmm1, xmm0
movss dword [rcx], xmm1
add rcx, 4
sub r8, 1
jne 0x18009e4f2
jmp 0x18009e8ac
test eax, eax
mov eax, dword [r9 + 8]
lea r9, [rsp + 0x48]
je 0x18009e75f
sub eax, ebx
mov dword [rsp + 0x48], eax
call fcn.180025d40
mov r9, rax
xor r10d, r10d
mov rax, qword [r13 + 0x10]
mov rcx, qword [rdi + rax]
mov eax, dword [rsp + 0x40]
cdq
sub eax, edx
sar eax, 1
lea r14, [rcx + r14*4]
movsxd r15, eax
mov eax, dword [rsp + 0x44]
cdq
sub eax, edx
mov rdx, r15
sar eax, 1
movsxd r12, eax
mov rax, qword [rsp + 0x128]
sub rdx, r12
mov rax, qword [rax]
mov rcx, qword [rdi + rax]
lea rdi, [rcx + rdx*4]
cmp rbp, 4
jl 0x18009e662
mov rdx, qword [rsp + 0x78]
lea rcx, [r14 + 4]
add rbp, 0xfffffffffffffffe
add rdx, 0xfffffffffffffffc
mov rsi, rdi
shr rdx, 2
mov r11, r9
sub rsi, r14
sub r11, r14
lea r8, [r9 + rbp*4]
mov rbp, rdi
sub rbp, r9
inc rdx
lea r10, [rdx*4]
movss xmm1, dword [rcx + r11 - 4]
lea rax, [rcx + r11]
mulss xmm1, dword [rcx + rsi - 4]
movss xmm0, dword [r8 + 4]
mulss xmm0, dword [rcx - 4]
addss xmm1, xmm0
movss dword [rcx - 4], xmm1
movss xmm0, dword [r8]
mulss xmm0, dword [rcx]
movss xmm2, dword [rax + rbp]
mulss xmm2, dword [rax]
addss xmm2, xmm0
movss dword [rcx], xmm2
movss xmm0, dword [r8 - 4]
mulss xmm0, dword [rcx + 4]
movss xmm1, dword [rcx + r11 + 4]
mulss xmm1, dword [rcx + rsi + 4]
addss xmm1, xmm0
movss dword [rcx + 4], xmm1
movss xmm2, dword [rcx + r11 + 8]
movss xmm0, dword [r8 - 8]
sub r8, 0x10
mulss xmm2, dword [rcx + rsi + 8]
mulss xmm0, dword [rcx + 8]
addss xmm2, xmm0
movss dword [rcx + 8], xmm2
add rcx, 0x10
sub rdx, 1
jne 0x18009e5c2
mov rbp, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x80]
cmp r10, rbp
jge 0x18009e6b6
mov rdx, rbp
lea rcx, [r14 + r10*4]
sub rdx, r10
mov r11, rdi
dec rdx
sub r11, r9
mov r8, rbp
sub r8, r10
lea rdx, [r9 + rdx*4]
sub r9, r14
add r10, r8
movss xmm0, dword [rdx]
lea rax, [rcx + r9]
mulss xmm0, dword [rcx]
sub rdx, 4
movss xmm1, dword [rax + r11]
mulss xmm1, dword [rax]
addss xmm1, xmm0
movss dword [rcx], xmm1
add rcx, 4
sub r8, 1
jne 0x18009e68a
lea eax, [r12 + r15]
movsxd r8, eax
cmp r10, r8
jge 0x18009e742
mov rax, r8
sub rax, r10
cmp rax, 4
jl 0x18009e724
lea rcx, [r10 + 1]
mov r9, r8
sub r9, r10
lea rcx, [r14 + rcx*4]
sub r9, 4
mov rdx, rdi
shr r9, 2
sub rdx, r14
inc r9
lea r10, [r10 + r9*4]
nop word [rax + rax]
mov eax, dword [rcx + rdx - 4]
mov dword [rcx - 4], eax
mov eax, dword [rcx + rdx]
mov dword [rcx], eax
mov eax, dword [rcx + rdx + 4]
mov dword [rcx + 4], eax
mov eax, dword [rcx + rdx + 8]
mov dword [rcx + 8], eax
lea rcx, [rcx + 0x10]
sub r9, 1
jne 0x18009e700
cmp r10, r8
jge 0x18009e742
sub rdi, r14
lea rcx, [r14 + r10*4]
sub r8, r10
mov eax, dword [rdi + rcx]
mov dword [rcx], eax
lea rcx, [rcx + 4]
sub r8, 1
jne 0x18009e733
mov rdi, qword [rsp + 0x88]
mov r15, qword [rsp + 0x128]
mov r12, qword [rsp + 0xb0]
jmp 0x18009e8b4
sub eax, ebx
mov dword [rsp + 0x48], eax
call fcn.180025d40
mov r9, rax
xor esi, esi
mov rax, qword [r13 + 0x10]
mov rcx, qword [rdi + rax]
mov rax, qword [r15]
lea r14, [rcx + r14*4]
mov r10, qword [rdi + rax]
cmp rbp, 4
jl 0x18009e85e
mov r11, qword [rsp + 0x78]
lea rcx, [r14 + 4]
add rbp, 0xfffffffffffffffe
add r11, 0xfffffffffffffffc
mov rdi, r10
shr r11, 2
mov r8, r9
sub rdi, r14
sub r8, r14
lea rdx, [r9 + rbp*4]
mov rbp, r10
sub rbp, r9
inc r11
lea rsi, [r11*4]
movss xmm1, dword [r8 + rcx - 4]
lea rax, [r8 + rcx]
mulss xmm1, dword [rdi + rcx - 4]
movss xmm0, dword [rdx + 4]
mulss xmm0, dword [rcx - 4]
addss xmm1, xmm0
movss dword [rcx - 4], xmm1
movss xmm0, dword [rdx]
mulss xmm0, dword [rcx]
movss xmm2, dword [rax + rbp]
mulss xmm2, dword [rax]
addss xmm2, xmm0
movss dword [rcx], xmm2
movss xmm0, dword [rdx - 4]
mulss xmm0, dword [rcx + 4]
movss xmm1, dword [r8 + rcx + 4]
mulss xmm1, dword [rdi + rcx + 4]
addss xmm1, xmm0
movss dword [rcx + 4], xmm1
movss xmm2, dword [r8 + rcx + 8]
movss xmm0, dword [rdx - 8]
sub rdx, 0x10
mulss xmm2, dword [rdi + rcx + 8]
mulss xmm0, dword [rcx + 8]
addss xmm2, xmm0
movss dword [rcx + 8], xmm2
add rcx, 0x10
sub r11, 1
jne 0x18009e7c2
mov rbp, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x88]
cmp rsi, rbp
jge 0x18009e8ac
sub r10, r9
lea rcx, [r14 + rsi*4]
mov rdx, rbp
mov r8, rbp
sub rdx, rsi
dec rdx
lea rdx, [r9 + rdx*4]
sub r9, r14
sub r8, rsi
movss xmm0, dword [rdx]
lea rax, [r9 + rcx]
mulss xmm0, dword [rcx]
sub rdx, 4
movss xmm1, dword [r10 + rax]
mulss xmm1, dword [rax]
addss xmm1, xmm0
movss dword [rcx], xmm1
add rcx, 4
sub r8, 1
jne 0x18009e880
mov rsi, qword [rsp + 0x80]
mov rax, qword [r13 + 0x10]
xor r10d, r10d
mov rcx, qword [rdi + rax]
mov rax, qword [rsp + 0xc0]
lea r11, [rcx + rax*4]
mov rax, qword [r15]
mov rcx, qword [rdi + rax]
lea r9, [rcx + rsi*4]
cmp rsi, 4
jl 0x18009e924
mov rdx, r9
lea r8, [rsi - 4]
sub rdx, r11
shr r8, 2
inc r8
lea rcx, [r11 + 4]
lea r10, [r8*4]
nop dword [rax]
mov eax, dword [rdx + rcx - 4]
mov dword [rcx - 4], eax
mov eax, dword [rdx + rcx]
mov dword [rcx], eax
mov eax, dword [rdx + rcx + 4]
mov dword [rcx + 4], eax
mov eax, dword [rdx + rcx + 8]
mov dword [rcx + 8], eax
lea rcx, [rcx + 0x10]
sub r8, 1
jne 0x18009e900
cmp r10, rsi
jge 0x18009e946
sub r9, r11
lea rcx, [r11 + r10*4]
mov rdx, rsi
sub rdx, r10
mov eax, dword [rcx + r9]
mov dword [rcx], eax
lea rcx, [rcx + 4]
sub rdx, 1
jne 0x18009e936
mov edx, dword [rsp + 0x94]
add rdi, 8
mov rax, qword [rsp + 0x60]
inc edx
mov r14, qword [rsp + 0xa0]
mov r9, qword [rsp + 0x50]
mov dword [rsp + 0x94], edx
mov qword [rsp + 0x88], rdi
cmp edx, dword [rax + 4]
jl 0x18009e220
mov ecx, dword [r13 + 0x40]
mov edx, dword [rsp + 0x40]
mov r8d, dword [rsp + 0x44]
mov r10d, dword [rsp + 0xa8]
mov r11d, dword [rsp + 0x70]
mov edi, dword [rsp + 0x58]
mov r14, qword [rsp + 0xb8]
xor eax, eax
test ecx, ecx
cmove eax, edx
cmp dword [r13 + 0x28], 0xffffffff
mov dword [r13 + 0x40], eax
jne 0x18009e9bf
mov dword [r13 + 0x28], r10d
mov dword [r13 + 0x24], r10d
jmp 0x18009ea00
movsxd rax, dword [r13 + 0x38]
mov ecx, ebx
mov dword [r13 + 0x28], r11d
mov eax, dword [r14 + rax*4]
cdq
and edx, 3
lea r8d, [rdx + rax]
movsxd rax, dword [r13 + 0x34]
sar r8d, 2
mov eax, dword [r14 + rax*4]
cdq
and edx, 3
add eax, edx
mov edx, dword [rsp + 0x40]
sar eax, 2
add r8d, eax
sar r8d, cl
add r8d, r11d
mov dword [r13 + 0x24], r8d
mov r8d, dword [rsp + 0x44]
lea ecx, [rbx + 1]
dec edi
mov dword [rsp + 0x58], edi
cmp edi, 0x9d
ja 0x18009e130
mov ebx, dword [rsp + 0x98]
xor edi, edi
mov esi, dword [rsp + 0x68]
mov r10, qword [rsp + 0x60]
mov ebp, dword [rsp + 0x130]
mov r12d, dword [rsp + 0xac]
mov r8, qword [r9 + 0xc8]
cmp r8, 0xffffffffffffffff
jne 0x18009ea48
mov rax, rdi
jmp 0x18009ea72
movsxd rax, dword [r13 + 0x38]
mov eax, dword [r14 + rax*4]
cdq
and edx, 3
lea ecx, [rdx + rax]
movsxd rax, dword [r13 + 0x34]
sar ecx, 2
mov eax, dword [r14 + rax*4]
cdq
and edx, 3
add eax, edx
sar eax, 2
add eax, ecx
cdqe
add rax, r8
mov qword [r9 + 0xc8], rax
mov r8, qword [r13 + 0x48]
cmp r8, 0xffffffffffffffff
jne 0x18009eb0a
mov rcx, qword [r15 + 0x40]
cmp rcx, r8
je 0x18009ec00
mov qword [r13 + 0x48], rcx
mov rax, qword [r9 + 0xc8]
cmp rax, rcx
jle 0x18009ec00
sub eax, dword [r15 + 0x40]
mov edx, edi
mov r9d, dword [r13 + 0x28]
mov ecx, esi
mov r8d, dword [r13 + 0x24]
cmovns edx, eax
cmp dword [r15 + 0x3c], 0
je 0x18009eadd
mov eax, r8d
sub eax, r9d
shl eax, cl
cmp edx, eax
cmovle eax, edx
sar eax, cl
sub r8d, eax
mov dword [r13 + 0x24], r8d
jmp 0x18009ebfb
sar edx, cl
lea rcx, [0x180000000]
lea eax, [rdx + r9]
mov edx, dword [rsp + 0x40]
mov r9, qword [rsp + 0x50]
mov dword [r13 + 0x28], eax
cmp eax, r8d
jle 0x18009eb00
mov dword [r13 + 0x28], r8d
mov r8d, dword [rsp + 0x44]
jmp case.default.0x18009deb8
movsxd rax, dword [r13 + 0x38]
mov eax, dword [r14 + rax*4]
cdq
and edx, 3
lea ecx, [rdx + rax]
movsxd rax, dword [r13 + 0x34]
sar ecx, 2
mov eax, dword [r14 + rax*4]
cdq
and edx, 3
add eax, edx
sar eax, 2
add ecx, eax
movsxd r9, ecx
add r9, r8
mov qword [r13 + 0x48], r9
mov rax, qword [r15 + 0x40]
cmp rax, 0xffffffffffffffff
je 0x18009ebfb
cmp r9, rax
je 0x18009ebfb
mov rcx, rax
jle 0x18009eb8b
sub r9d, eax
je 0x18009eb8b
cmp dword [r15 + 0x3c], 0
je 0x18009eb8b
mov r8d, dword [r13 + 0x24]
mov ecx, esi
mov edx, r8d
mov eax, edi
sub edx, dword [r13 + 0x28]
shl edx, cl
cmp r9d, edx
cmovle edx, r9d
test edx, edx
cmovns eax, edx
sar eax, cl
sub r8d, eax
mov dword [r13 + 0x24], r8d
mov rcx, qword [r15 + 0x40]
mov qword [r13 + 0x48], rcx
jmp 0x18009ebfb
mov eax, dword [r15 + 0xc]
lea r8, [rsp + 0x130]
mov r9, r13
mov dword [rsp + 0x130], eax
lea rdx, [rsp + 0x70]
mov dword [rsp + 0x70], eax
mov ecx, 0x9f
call fcn.18005ed60
mov qword [r15 + 0x58], rax
jmp 0x18009ebf6
cmp dword [r15 + 0x3c], 0
lea rcx, [0x180000000]
je case.default.0x18009deb8
mov dword [r13 + 0x30], 1
jmp case.default.0x18009deb8
test r13, r13
je 0x18009ec47
cmp byte [r13], 0
je 0x18009ec47
mov edx, 0x3d
mov rcx, r13
call sub.VCRUNTIME140.dll_strchr
test rax, rax
jne 0x18009ec47
mov r10, qword [rsp + 0x60]
mov r9, qword [rsp + 0x50]
mov r8d, dword [rsp + 0x44]
mov edx, dword [rsp + 0x40]
lea rcx, [0x180000000]
inc ebp
mov dword [rsp + 0x130], ebp
cmp ebp, r12d
jb 0x18009de88
mov eax, ebx
mov rbx, qword [rsp + 0x120]
movaps xmm6, xmmword [rsp + 0xd0]
add rsp, 0xe0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [rax], 0x16
mov eax, 0xffffffff
jmp 0x18009ec24
mov eax, edi
jmp 0x18009ec24