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

Disassembly:
mov rax, rsp
push rbx
push rbp
push rsi
push rdi
sub rsp, 0x8f8
mov qword [rsp + 0xb0], 0xfffffffffffffffe
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x18013e1e0]
xor rax, rsp
mov qword [rsp + 0x840], rax
mov ebp, r9d
mov dword [rsp + 0x88], r9d
mov ebx, r8d
mov dword [rsp + 0x54], ebx
mov esi, edx
mov dword [rsp + 0x3c], edx
mov rdi, rcx
mov rcx, qword [rsp + 0x940]
mov qword [rsp + 0x98], rcx
test edx, edx
je 0x18008ed6f
test ebx, ebx
je 0x18008ed6f
mov eax, dword [rdi + 0x14]
cmp eax, edx
jne 0x18008de02
cmp dword [rdi + 0x18], ebx
jne 0x18008de02
test rcx, rcx
je 0x18008ddfb
mov byte [rsp + 0x20], 1
mov r9b, 1
movzx r8d, r9b
mov rdx, rdi
call fcn.180082ab0
mov al, 1
jmp 0x18008ed71
movd xmm13, eax
cvtdq2ps xmm13, xmm13
movd xmm0, esi
cvtdq2ps xmm0, xmm0
divss xmm13, xmm0
movd xmm7, dword [rdi + 0x18]
cvtdq2ps xmm7, xmm7
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
divss xmm7, xmm0
movss dword [rsp + 0x58], xmm7
xor edx, edx
lea rcx, [rsp + 0xc0]
call fcn.180081f80
nop
mov rdx, rdi
lea rcx, [rsp + 0xc0]
call fcn.180082140
mov rcx, rdi
call fcn.180082eb0
movzx r9d, word [rdi + 0x1e]
mov dword [rsp + 0x20], eax
mov r8d, ebx
mov edx, esi
lea rcx, [rsp + 0xc0]
call fcn.180082780
mov rcx, rdi
call fcn.180084e70
mov rdx, rax
mov r8d, 0x100
lea rcx, [rsp + 0xc0]
call fcn.180085710
lea rcx, [rsp + 0xc0]
call fcn.180082f70
test al, al
jne 0x18008def2
lea rcx, [rsp + 0xc0]
call fcn.180083110
add rdi, 0x58
movzx ecx, byte [rax]
mov byte [rdi], cl
inc rax
inc rdi
test cl, cl
jne 0x18008deb3
lea rax, vtable.CxImage.0
mov qword [rsp + 0xc0], rax
lea rcx, [rsp + 0xc0]
call fcn.1800820a0
lea rcx, [rsp + 0xc0]
call fcn.180081fb0
xor al, al
jmp 0x18008ed71
mov ecx, ebp
sub ecx, 1
je 0x18008eb36
cmp ecx, 1
je 0x18008e89c
mov ecx, dword [rdi + 0x14]
cmp ecx, esi
jle 0x18008e4fc
cmp dword [rdi + 0x18], ebx
jle 0x18008e4fc
cmp word [rdi + 0x1e], 0x18
jne 0x18008e4fc
mov rsi, qword [rsp + 0xfc]
mov qword [rsp + 0x70], rsi
mov eax, dword [rsp + 0x3c]
lea eax, [rax + rax*2]
mov dword [rsp + 0x58], eax
add eax, 3
movsxd rbx, eax
mov eax, 4
mul rbx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.1800c0db0
mov rbp, rax
mov qword [rsp + 0x60], rax
mov eax, 4
mul rbx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.1800c0db0
mov qword [rsp + 0x68], rax
movaps xmm0, xmm13
movss xmm6, dword [0x1800f5578]
mulss xmm0, xmm6
mulss xmm0, xmm7
cvttss2si eax, xmm0
mov dword [rsp + 0x4c], eax
movsxd rcx, dword [rsp + 0x3c]
lea rbx, [rcx + rcx*2]
shl rbx, 2
mov r8, rbx
xor edx, edx
mov rcx, rbp
call fcn.1800c31a0
mov r8, rbx
xor edx, edx
mov rcx, qword [rsp + 0x68]
call fcn.1800c31a0
xor ebp, ebp
mov r11d, ebp
mov dword [rsp + 0x30], ebp
movaps xmm2, xmm7
movss xmm3, dword [0x1800f5138]
subss xmm2, xmm3
mov r9d, ebp
mov dword [rsp + 0x50], ebp
cmp dword [rdi + 0x18], ebp
jle 0x18008e4b0
mov eax, ebp
mov dword [rsp + 0x40], eax
mov rbx, qword [rsp + 0x60]
nop
cdq
idiv dword [rdi + 0x18]
mov dword [rdi + 0x158], eax
cmp dword [rdi + 0x15c], 0
jne 0x18008e4b5
mov r10d, dword [rdi + 0x38]
imul r10d, r9d
add r10, qword [rdi + 0x3c]
mov rax, rbp
mov qword [rsp + 0x78], rax
mov edx, ebp
mov dword [rsp + 0x44], edx
movaps xmm1, xmm13
subss xmm1, xmm3
movd xmm0, r9d
cvtdq2ps xmm0, xmm0
comiss xmm2, xmm0
jbe 0x18008e124
mov r11d, ebp
cmp dword [rdi + 0x14], 0
jle 0x18008e48c
lea r9, [rbx + 4]
nop dword [rax + rax]
movd xmm0, r11d
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x18008e09e
movzx eax, byte [r10]
imul eax, eax, 0x3e8
add dword [r9 - 4], eax
movzx eax, byte [r10 + 1]
imul eax, eax, 0x3e8
add dword [r9], eax
movzx eax, byte [r10 + 2]
imul eax, eax, 0x3e8
add dword [r9 + 4], eax
add r10, 3
jmp 0x18008e108
subss xmm0, xmm1
mulss xmm0, xmm6
cvttss2si r8d, xmm0
mov edx, 0x3e8
sub edx, r8d
movzx eax, byte [r10]
imul eax, edx
add dword [r9 - 4], eax
movzx eax, byte [r10]
imul eax, r8d
add dword [r9 + 8], eax
movzx eax, byte [r10 + 1]
imul eax, edx
add dword [r9], eax
movzx eax, byte [r10 + 1]
imul eax, r8d
add dword [r9 + 0xc], eax
movzx eax, byte [r10 + 2]
imul eax, edx
add dword [r9 + 4], eax
movzx eax, byte [r10 + 2]
imul eax, r8d
add dword [r9 + 0x10], eax
add r10, 3
add r9, 0xc
addss xmm1, xmm13
inc r11d
cmp r11d, dword [rdi + 0x14]
jl 0x18008e060
mov r9d, dword [rsp + 0x50]
mov r11d, dword [rsp + 0x30]
jmp 0x18008e491
subss xmm0, xmm2
mulss xmm0, xmm6
cvttss2si r8d, xmm0
mov dword [rsp + 0x48], r8d
mov ebx, ebp
cmp dword [rdi + 0x14], 0
jle 0x18008e40b
mov ebp, 0x3e8
sub ebp, r8d
mov rcx, qword [rsp + 0x68]
lea rsi, [rcx + 8]
mov rax, qword [rsp + 0x60]
lea r11, [rax + 4]
sub rcx, rax
mov qword [rsp + 0x80], rcx
nop word [rax + rax]
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x18008e1cf
movzx eax, byte [r10]
imul eax, ebp
add dword [r11 - 4], eax
movzx eax, byte [r10]
imul eax, r8d
add dword [rsi - 8], eax
movzx eax, byte [r10 + 1]
imul eax, ebp
add dword [r11], eax
movzx eax, byte [r10 + 1]
imul eax, r8d
add dword [rcx + r11], eax
movzx eax, byte [r10 + 2]
imul eax, ebp
add dword [r11 + 4], eax
movzx eax, byte [r10 + 2]
imul eax, r8d
add dword [rsi], eax
add r10, 3
mov rax, qword [rsp + 0x78]
jmp 0x18008e3ef
subss xmm0, xmm1
mulss xmm0, xmm6
cvttss2si r9d, xmm0
mov r8d, 0x3e8
sub r8d, r9d
movzx ecx, byte [r10]
imul ecx, r8d
imul ecx, ebp
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
add dword [r11 - 4], edx
mov eax, dword [r11 - 4]
cdq
idiv dword [rsp + 0x4c]
mov rcx, qword [rsp + 0x70]
mov byte [rcx], al
movzx ecx, byte [r10]
imul ecx, r8d
imul ecx, dword [rsp + 0x48]
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
add dword [rsi - 8], edx
movzx ecx, byte [r10]
imul ecx, ebp
imul ecx, r9d
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
add dword [r11 + 8], edx
movzx ecx, byte [r10]
imul ecx, dword [rsp + 0x48]
imul ecx, r9d
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
mov rax, qword [rsp + 0x80]
mov dword [r11 + rax + 8], edx
movzx ecx, byte [r10 + 1]
imul ecx, r8d
imul ecx, ebp
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
add dword [r11], edx
mov eax, dword [r11]
cdq
idiv dword [rsp + 0x4c]
mov rcx, qword [rsp + 0x70]
mov byte [rcx + 1], al
movzx ecx, byte [r10 + 1]
imul ecx, r8d
imul ecx, dword [rsp + 0x48]
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
mov rax, qword [rsp + 0x80]
add dword [rax + r11], edx
movzx ecx, byte [r10 + 1]
imul ecx, ebp
imul ecx, r9d
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
add dword [r11 + 0xc], edx
movzx ecx, byte [r10 + 1]
imul ecx, dword [rsp + 0x48]
imul ecx, r9d
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rsi + 8], edx
movzx ecx, byte [r10 + 2]
imul ecx, r8d
imul ecx, ebp
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
add dword [r11 + 4], edx
mov eax, dword [r11 + 4]
cdq
idiv dword [rsp + 0x4c]
mov rcx, qword [rsp + 0x70]
mov byte [rcx + 2], al
movzx ecx, byte [r10 + 2]
imul ecx, r8d
mov r8d, dword [rsp + 0x48]
imul ecx, r8d
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
add dword [rsi], edx
movzx ecx, byte [r10 + 2]
imul ecx, ebp
imul ecx, r9d
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
add dword [r11 + 0x10], edx
movzx ecx, byte [r10 + 2]
imul ecx, r8d
imul ecx, r9d
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rsi + 0xc], edx
add qword [rsp + 0x70], 3
add r10, 3
mov rax, qword [rsp + 0x78]
add rax, 3
mov qword [rsp + 0x78], rax
add r11, 0xc
add rsi, 0xc
addss xmm1, xmm13
mov edx, dword [rsp + 0x44]
inc edx
mov dword [rsp + 0x44], edx
mov rcx, qword [rsp + 0x80]
inc ebx
cmp ebx, dword [rdi + 0x14]
jl 0x18008e170
xor ebp, ebp
mov rsi, qword [rsp + 0x70]
mov r9d, dword [rsp + 0x50]
mov r11d, dword [rsp + 0x30]
cmp edx, dword [rsp + 0x3c]
jge 0x18008e443
mov rcx, qword [rsp + 0x60]
mov eax, dword [rcx + rax*4]
cdq
mov r10d, dword [rsp + 0x4c]
idiv r10d
mov byte [rsi], al
mov r8, qword [rsp + 0x78]
mov eax, dword [rcx + r8*4 + 4]
cdq
idiv r10d
mov byte [rsi + 1], al
mov eax, dword [rcx + r8*4 + 8]
cdq
idiv r10d
mov byte [rsi + 2], al
jmp 0x18008e448
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x60], rax
xor eax, eax
mov dword [rcx], eax
mov dword [rcx + 4], eax
mov dword [rcx + 8], eax
inc r11d
mov dword [rsp + 0x30], r11d
mov esi, r11d
imul esi, dword [rsp + 0xf8]
add rsi, qword [rsp + 0xfc]
mov qword [rsp + 0x70], rsi
addss xmm2, xmm7
mov rbx, qword [rsp + 0x60]
jmp 0x18008e491
mov r11d, dword [rsp + 0x30]
inc r9d
mov dword [rsp + 0x50], r9d
mov eax, dword [rsp + 0x40]
add eax, 0x64
mov dword [rsp + 0x40], eax
cmp r9d, dword [rdi + 0x18]
jl 0x18008e000
jmp 0x18008e4b5
mov rbx, qword [rsp + 0x60]
cmp r11d, dword [rsp + 0x54]
jge 0x18008e4e5
mov eax, dword [rsp + 0x58]
test eax, eax
jle 0x18008e4e5
mov rcx, rbx
mov r9, rax
mov r8d, dword [rsp + 0x4c]
nop
mov eax, dword [rcx]
cdq
idiv r8d
mov byte [rsi], al
inc rsi
add rcx, 4
sub r9, 1
jne 0x18008e4d0
mov rcx, rbx
call fcn.1800bf8b4
mov rcx, qword [rsp + 0x68]
call fcn.1800bf8b4
jmp 0x18008ebe6
dec ecx
mov dword [rsp + 0x68], ecx
mov r9d, dword [rdi + 0x18]
dec r9d
mov dword [rsp + 0x70], r9d
xor ebp, ebp
mov r8d, ebp
mov dword [rsp + 0x44], ebp
test ebx, ebx
jle 0x18008ebe6
mov eax, ebp
mov dword [rsp + 0x60], eax
nop word [rax + rax]
cdq
idiv ebx
mov dword [rdi + 0x158], eax
cmp dword [rdi + 0x15c], 0
jne 0x18008ebe6
movd xmm8, r8d
cvtdq2ps xmm8, xmm8
mulss xmm8, xmm7
cvttss2si eax, xmm8
mov dword [rsp + 0x78], eax
lea r11d, [rax + 1]
cmp r9d, r11d
cmovl r11d, r9d
mov dword [rsp + 0x40], r11d
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm8, xmm0
test esi, esi
jle 0x18008e87b
nop word [rax + rax]
movd xmm7, ebp
cvtdq2ps xmm7, xmm7
mulss xmm7, xmm13
cvttss2si esi, xmm7
lea ebx, [rsi + 1]
cmp ecx, ebx
cmovl ebx, ecx
movd xmm0, esi
cvtdq2ps xmm0, xmm0
subss xmm7, xmm0
cmp dword [rdi + 0x30], 0
je 0x18008e6b3
mov r8d, eax
mov edx, esi
mov rcx, rdi
call fcn.180084f00
movzx r8d, al
lea rdx, [rsp + 0xa4]
mov rcx, rdi
call fcn.180084e90
mov ecx, dword [rax]
mov dword [rsp + 0x50], ecx
mov r8d, dword [rsp + 0x78]
mov edx, ebx
mov rcx, rdi
call fcn.180084f00
movzx r8d, al
lea rdx, [rsp + 0x90]
mov rcx, rdi
call fcn.180084e90
mov ecx, dword [rax]
mov dword [rsp + 0x30], ecx
mov r8d, dword [rsp + 0x40]
mov edx, esi
mov rcx, rdi
call fcn.180084f00
movzx r8d, al
lea rdx, [rsp + 0x94]
mov rcx, rdi
call fcn.180084e90
mov ecx, dword [rax]
mov dword [rsp + 0x4c], ecx
mov r8d, dword [rsp + 0x40]
mov edx, ebx
mov rcx, rdi
call fcn.180084f00
movzx r8d, al
lea rdx, [rsp + 0x8c]
mov rcx, rdi
call fcn.180084e90
mov ecx, dword [rax]
mov dword [rsp + 0x48], ecx
movzx esi, byte [rsp + 0x52]
movzx eax, byte [rsp + 0x51]
mov byte [rsp + 0x36], al
movzx eax, byte [rsp + 0x50]
mov byte [rsp + 0x37], al
movzx ebx, byte [rsp + 0x32]
movzx eax, byte [rsp + 0x31]
mov byte [rsp + 0x38], al
movzx eax, byte [rsp + 0x30]
mov byte [rsp + 0x35], al
movzx r8d, byte [rsp + 0x4e]
movzx r9d, byte [rsp + 0x4d]
movzx r10d, byte [rsp + 0x4c]
movzx edx, byte [rsp + 0x4a]
movzx r11d, byte [rsp + 0x49]
movzx eax, cl
mov byte [rsp + 0x34], cl
jmp 0x18008e723
mov r9d, dword [rdi + 0x38]
mov r10, qword [rdi + 0x3c]
imul eax, r9d
mov ecx, eax
add rcx, r10
lea eax, [rsi + rsi*2]
movsxd r8, eax
lea rax, [r8 + rcx]
mov dl, byte [rax]
mov byte [rsp + 0x37], dl
mov dl, byte [rax + 1]
mov byte [rsp + 0x36], dl
mov sil, byte [rax + 2]
lea eax, [rbx + rbx*2]
movsxd rdx, eax
lea rax, [rdx + rcx]
mov cl, byte [rax]
mov byte [rsp + 0x35], cl
mov cl, byte [rax + 1]
mov byte [rsp + 0x38], cl
mov bl, byte [rax + 2]
mov ecx, r11d
imul ecx, r9d
add rcx, r10
lea rax, [rcx + r8]
mov r10b, byte [rax]
mov r9b, byte [rax + 1]
mov r8b, byte [rax + 2]
lea rax, [rcx + rdx]
mov cl, byte [rax]
mov byte [rsp + 0x34], cl
mov r11b, byte [rax + 1]
mov dl, byte [rax + 2]
movzx ecx, sil
movzx eax, r8b
sub eax, ecx
movd xmm6, eax
cvtdq2ps xmm6, xmm6
mulss xmm6, xmm8
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
addss xmm6, xmm0
movzx ecx, byte [rsp + 0x36]
movzx eax, r9b
sub eax, ecx
movd xmm5, eax
cvtdq2ps xmm5, xmm5
mulss xmm5, xmm8
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
addss xmm5, xmm0
movzx ecx, byte [rsp + 0x37]
movzx eax, r10b
sub eax, ecx
movd xmm4, eax
cvtdq2ps xmm4, xmm4
mulss xmm4, xmm8
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
addss xmm4, xmm0
movzx ecx, bl
movzx eax, dl
sub eax, ecx
movd xmm3, eax
cvtdq2ps xmm3, xmm3
mulss xmm3, xmm8
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
addss xmm3, xmm0
movzx ecx, byte [rsp + 0x38]
movzx eax, r11b
sub eax, ecx
movd xmm2, eax
cvtdq2ps xmm2, xmm2
mulss xmm2, xmm8
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
addss xmm2, xmm0
movzx ecx, byte [rsp + 0x35]
movzx eax, byte [rsp + 0x34]
sub eax, ecx
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm8
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
subss xmm3, xmm6
mulss xmm3, xmm7
addss xmm3, xmm6
cvttss2si rdx, xmm3
subss xmm2, xmm5
mulss xmm2, xmm7
addss xmm2, xmm5
cvttss2si rcx, xmm2
subss xmm1, xmm4
mulss xmm1, xmm7
addss xmm1, xmm4
cvttss2si rax, xmm1
movzx r9d, cl
shl r9d, 8
movzx eax, al
shl eax, 0x10
or r9d, eax
movzx eax, dl
or r9d, eax
mov r8d, dword [rsp + 0x44]
mov edx, ebp
lea rcx, [rsp + 0xc0]
call fcn.180087d20
inc ebp
mov esi, dword [rsp + 0x3c]
cmp ebp, esi
mov r11d, dword [rsp + 0x40]
mov eax, dword [rsp + 0x78]
mov ecx, dword [rsp + 0x68]
jl 0x18008e590
movss xmm7, dword [rsp + 0x58]
xor ebp, ebp
mov r8d, dword [rsp + 0x44]
mov r9d, dword [rsp + 0x70]
mov ebx, dword [rsp + 0x54]
inc r8d
mov dword [rsp + 0x44], r8d
mov eax, dword [rsp + 0x60]
add eax, 0x64
mov dword [rsp + 0x60], eax
cmp r8d, ebx
jl 0x18008e530
jmp 0x18008ebe6
xor ebp, ebp
mov ecx, ebp
mov dword [rsp + 0x30], ecx
test ebx, ebx
jle 0x18008ebe6
mov eax, ebp
mov dword [rsp + 0x68], eax
or rbx, 0xffffffffffffffff
movss xmm15, dword [0x1800f4fb0]
xorps xmm14, xmm14
cdq
idiv dword [rsp + 0x54]
mov dword [rdi + 0x158], eax
cmp dword [rdi + 0x15c], ebp
jne 0x18008ebe6
movd xmm12, ecx
cvtdq2ps xmm12, xmm12
mulss xmm12, xmm7
subss xmm12, xmm15
movaps xmm0, xmm12
call fcn.1800c3b0c
cvttss2si eax, xmm0
mov dword [rsp + 0x70], eax
subss xmm12, xmm0
mov eax, ebp
mov dword [rsp + 0x40], eax
test esi, esi
jle 0x18008eb12
mov qword [rsp + 0x80], rbp
nop dword [rax]
movd xmm10, eax
cvtdq2ps xmm10, xmm10
mulss xmm10, xmm13
subss xmm10, xmm15
movaps xmm0, xmm10
call fcn.1800c3b0c
cvttss2si eax, xmm0
mov dword [rsp + 0x78], eax
subss xmm10, xmm0
movaps xmm7, xmm14
movaps xmm8, xmm14
movaps xmm9, xmm14
mov dword [rsp + 0x60], ebx
nop dword [rax]
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
subss xmm0, xmm12
call fcn.18008f280
movaps xmm11, xmm0
mov eax, dword [rsp + 0x70]
lea esi, [rbx + rax]
test esi, esi
cmovs esi, ebp
mov eax, dword [rdi + 0x18]
cmp esi, eax
jl 0x18008e98b
lea esi, [rax - 1]
or ebx, 0xffffffff
nop
movd xmm1, ebx
cvtdq2ps xmm1, xmm1
movaps xmm0, xmm10
subss xmm0, xmm1
call fcn.18008f280
movaps xmm6, xmm0
mulss xmm6, xmm11
mov eax, dword [rsp + 0x78]
lea ecx, [rbx + rax]
test ecx, ecx
cmovs ecx, ebp
mov eax, dword [rdi + 0x14]
cmp ecx, eax
jl 0x18008e9c2
lea ecx, [rax - 1]
cmp dword [rdi + 0x30], ebp
je 0x18008e9fa
mov byte [rsp + 0x20], 1
mov r9d, esi
mov r8d, ecx
lea rdx, [rsp + 0xa0]
mov rcx, rdi
call fcn.1800850b0
mov ecx, dword [rax]
mov dword [rsp + 0x44], ecx
movzx eax, byte [rsp + 0x46]
movzx ecx, byte [rsp + 0x45]
movzx r8d, byte [rsp + 0x44]
jmp 0x18008ea16
mov edx, dword [rdi + 0x38]
imul edx, esi
lea eax, [rcx + rcx*2]
movsxd rcx, eax
add rdx, rcx
add rdx, qword [rdi + 0x3c]
mov r8b, byte [rdx]
mov cl, byte [rdx + 1]
mov al, byte [rdx + 2]
movzx eax, al
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
addss xmm9, xmm0
movzx eax, cl
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm6
addss xmm8, xmm1
movzx eax, r8b
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
addss xmm7, xmm0
inc ebx
cmp ebx, 3
jl 0x18008e990
mov ebx, dword [rsp + 0x60]
inc ebx
mov dword [rsp + 0x60], ebx
cmp ebx, 3
jl 0x18008e960
cmp dword [rdi + 0x30], ebp
je 0x18008eab0
cvttss2si rax, xmm8
movzx r9d, al
shl r9d, 8
cvttss2si rax, xmm7
movzx ecx, al
shl ecx, 0x10
or r9d, ecx
cvttss2si rax, xmm9
movzx ecx, al
or r9d, ecx
mov r8d, dword [rsp + 0x30]
mov edx, dword [rsp + 0x40]
lea rcx, [rsp + 0xc0]
call fcn.180087d20
jmp 0x18008eae3
mov ecx, dword [rsp + 0xf8]
imul ecx, dword [rsp + 0x30]
add rcx, qword [rsp + 0x80]
add rcx, qword [rsp + 0xfc]
cvttss2si rax, xmm7
mov byte [rcx], al
cvttss2si rax, xmm8
mov byte [rcx + 1], al
cvttss2si rax, xmm9
mov byte [rcx + 2], al
mov eax, dword [rsp + 0x40]
inc eax
mov dword [rsp + 0x40], eax
add qword [rsp + 0x80], 3
mov esi, dword [rsp + 0x3c]
cmp eax, esi
mov rbx, 0xffffffffffffffff
jl 0x18008e920
movss xmm7, dword [rsp + 0x58]
or rbx, rbx
mov ecx, dword [rsp + 0x30]
inc ecx
mov dword [rsp + 0x30], ecx
mov eax, dword [rsp + 0x68]
add eax, 0x64
mov dword [rsp + 0x68], eax
cmp ecx, dword [rsp + 0x54]
jl 0x18008e8c3
jmp 0x18008ebe6
xor ebp, ebp
mov esi, ebp
test ebx, ebx
jle 0x18008ebe6
mov eax, ebp
mov dword [rsp + 0x58], eax
nop dword [rax + rax]
cdq
idiv ebx
mov dword [rdi + 0x158], eax
cmp dword [rdi + 0x15c], 0
jne 0x18008ebe6
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
mov ebx, ebp
cmp dword [rsp + 0x3c], 0
jle 0x18008ebcd
cvttss2si ebp, xmm0
nop
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm13
cvttss2si r8d, xmm0
mov byte [rsp + 0x20], 1
mov r9d, ebp
lea rdx, [rsp + 0xa8]
mov rcx, rdi
call fcn.1800850b0
mov byte [rsp + 0x20], 0
mov r9d, dword [rax]
mov r8d, esi
mov edx, ebx
lea rcx, [rsp + 0xc0]
call fcn.180087b30
inc ebx
cmp ebx, dword [rsp + 0x3c]
jl 0x18008eb80
xor ebp, ebp
inc esi
mov eax, dword [rsp + 0x58]
add eax, 0x64
mov dword [rsp + 0x58], eax
mov ebx, dword [rsp + 0x54]
cmp esi, ebx
jl 0x18008eb50
mov rcx, rdi
call fcn.180087d50
lea rbx, vtable.CxImage.0
test al, al
je 0x18008ed16
mov esi, dword [rsp + 0x88]
cmp esi, 1
jne 0x18008eca0
lea rcx, [rsp + 0xc0]
call fcn.180087d60
mov esi, ebp
cmp dword [rsp + 0x54], 0
jle 0x18008ed16
mov eax, dword [rsp + 0x3c]
mov ecx, dword [rsp + 0x54]
nop
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
mov ebx, ebp
test eax, eax
jle 0x18008ec91
cvttss2si ebp, xmm0
nop word [rax + rax]
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm13
cvttss2si edx, xmm0
mov r8d, ebp
mov rcx, rdi
call fcn.180088030
movzx r9d, al
mov r8d, esi
mov edx, ebx
lea rcx, [rsp + 0xc0]
call fcn.180087fc0
inc ebx
mov eax, dword [rsp + 0x3c]
cmp ebx, eax
jl 0x18008ec50
xor ebp, ebp
mov ecx, dword [rsp + 0x54]
inc esi
cmp esi, ecx
jl 0x18008ec30
lea rbx, vtable.CxImage.0
jmp 0x18008ed16
xor edx, edx
lea rcx, [rsp + 0x480]
call fcn.180081f80
nop
lea rdx, [rsp + 0x480]
mov rcx, rdi
call fcn.180088340
mov qword [rsp + 0x20], rbp
mov r9d, esi
mov r8d, dword [rsp + 0x54]
mov edx, dword [rsp + 0x3c]
lea rcx, [rsp + 0x480]
call fcn.18008dd30
lea rdx, [rsp + 0x480]
lea rcx, [rsp + 0xc0]
call fcn.180087ed0
nop
mov qword [rsp + 0x480], rbx
lea rcx, [rsp + 0x480]
call fcn.1800820a0
lea rcx, [rsp + 0x480]
call fcn.180081fb0
mov rcx, qword [rsp + 0x98]
test rcx, rcx
je 0x18008ed35
mov r8b, 1
lea rdx, [rsp + 0xc0]
call fcn.1800822c0
jmp 0x18008ed49
mov r8b, 1
lea rdx, [rsp + 0xc0]
mov rcx, rdi
call fcn.1800822c0
nop
mov qword [rsp + 0xc0], rbx
lea rcx, [rsp + 0xc0]
call fcn.1800820a0
lea rcx, [rsp + 0xc0]
call fcn.180081fb0
mov al, 1
jmp 0x18008ed71
xor al, al
mov rcx, qword [rsp + 0x840]
xor rcx, rsp
call fcn.1800bf8d0
lea r11, [rsp + 0x8f8]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm10, xmmword [r11 - 0x58]
movaps xmm11, xmmword [r11 - 0x68]
movaps xmm12, xmmword [r11 - 0x78]
movaps xmm13, xmmword [r11 - 0x88]
movaps xmm14, xmmword [r11 - 0x98]
movaps xmm15, xmmword [r11 - 0xa8]
mov rsp, r11
pop rdi
pop rsi
pop rbp
pop rbx
ret