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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x1c70
call fcn.1013e300
mov eax, dword [0x101f6e00]
xor eax, esp
mov dword [esp + 0x1c6c], eax
push esi
push edi
mov edi, ecx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x38], ecx
cmp dword [edi + 0x50], 0
je 0x1008bf3a
cmp dword [0x1027e784], 0
je 0x1008bf3a
cmp dword [edi + 0x60], 0
je 0x1008bf3a
mov eax, dword [ecx + 0x14]
xor edx, edx
mov dword [esp + 0x40], eax
xorps xmm0, xmm0
lea eax, [esp + 0x50]
mov dword [esp + 0x28], edx
mov dword [esp + 8], eax
xorps xmm2, xmm2
xor eax, eax
mov dword [esp + 0x10], edx
xorps xmm3, xmm3
mov dword [esp + 0x1c], eax
xor esi, esi
mov dword [esp + 0x2c], eax
movss dword [esp + 0x30], xmm2
movss dword [esp + 0x44], xmm3
mov byte [esp + 0xc], al
mov word [esp + 0xd], ax
movss dword [esp + 0x20], xmm0
movss dword [esp + 0x24], xmm0
cmp dword [esp + 0x40], eax
jle 0x1008be39
lea eax, [ecx + 4]
mov dword [esp + 0x34], 2
mov dword [esp + 0x3c], eax
cmp esi, dword [ecx + 0x14]
jbe 0x1008b3f9
push str.string_subscript_out_of_range
push 0x101d467c
push 0
push 0xfea
push 0x101d4a50
push 2
call fcn.10143d00
add esp, 0x18
cmp eax, 1
jne 0x1008b3cd
int3
push 0
push 0xfea
push str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.40.33807includexstring
push 0x101d47ac
push str._string_subscript_out_of_range_
call fcn.10152640
movss xmm3, dword [esp + 0x58]
add esp, 0x14
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
cmp dword [ecx + 0x18], 0xf
mov edx, dword [esp + 0x10]
mov dword [esp + 0x14], eax
jbe 0x1008b411
mov edx, dword [eax]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
cmp byte [ecx + esi], 0xa
mov ecx, dword [esp + 0x38]
jne 0x1008b6a6
mov ecx, dword [esp + 0x28]
inc esi
cmp ecx, edx
je 0x1008b67b
mov eax, dword [edi + 0x54]
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x101de670]
mov eax, ecx
shr eax, 0x1f
cvtpd2ps xmm2, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, ecx
mov ecx, dword [esp + 0x2c]
addsd xmm0, qword [eax*8 + 0x101de670]
mov eax, dword [edi + 0x58]
cvtpd2ps xmm6, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
divss xmm6, xmm2
addsd xmm0, qword [eax*8 + 0x101de670]
mov eax, ecx
shr eax, 0x1f
cvtpd2ps xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, ecx
addsd xmm0, qword [eax*8 + 0x101de670]
mov eax, edx
shr eax, 0x1f
cvtpd2ps xmm7, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, edx
divss xmm7, xmm1
addsd xmm0, qword [eax*8 + 0x101de670]
mov eax, dword [ebp + 8]
add eax, ecx
cvtpd2ps xmm4, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
cmp dword [esp + 0x34], 0x12c
divss xmm4, xmm2
addsd xmm0, qword [eax*8 + 0x101de670]
movss dword [esp + 0x18], xmm4
subss xmm4, xmm6
cvtpd2ps xmm5, xmm0
mulss xmm4, xmm2
divss xmm5, xmm1
divss xmm4, dword [edi + 0x5c]
movss dword [esp + 0x14], xmm5
subss xmm5, xmm7
mulss xmm5, xmm1
divss xmm5, dword [edi + 0x5c]
jae 0x1008bb10
mov ecx, dword [esp + 8]
xorps xmm2, xmm2
mov eax, dword [edi + 0x70]
movaps xmm0, xmm3
movss xmm1, dword [esp + 0x30]
addss xmm0, xmm2
addss xmm4, dword [esp + 0x30]
mov dword [ecx + 8], 0x3f666666
addss xmm1, xmm2
mov dword [ecx + 0xc], eax
movaps xmm2, xmm3
movss dword [ecx + 0x10], xmm6
subss xmm2, xmm5
movss xmm5, dword [esp + 0x14]
movss dword [ecx + 0x14], xmm5
movss dword [ecx], xmm1
movss xmm5, dword [esp + 0x18]
movss dword [ecx + 4], xmm2
mov ecx, dword [esp + 8]
mov eax, dword [edi + 0x70]
add ecx, 0x18
mov dword [esp + 8], ecx
add dword [esp + 0x1c], 2
movss dword [ecx], xmm1
movss dword [ecx + 4], xmm0
mov dword [ecx + 8], 0x3f666666
mov dword [ecx + 0xc], eax
movss dword [ecx + 0x10], xmm6
movss dword [ecx + 0x14], xmm7
mov ecx, dword [esp + 8]
mov eax, dword [edi + 0x70]
add ecx, 0x18
mov dword [esp + 8], ecx
movss dword [ecx + 0x10], xmm5
movss xmm5, dword [esp + 0x14]
movss dword [ecx + 4], xmm2
movss dword [ecx + 0x14], xmm5
movss dword [ecx], xmm4
movss xmm5, dword [esp + 0x18]
mov dword [ecx + 8], 0x3f666666
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 8]
mov eax, dword [edi + 0x70]
add ecx, 0x18
mov dword [esp + 8], ecx
movss dword [ecx], xmm4
movss dword [ecx + 0x10], xmm5
movss dword [ecx + 4], xmm0
mov dword [ecx + 8], 0x3f666666
mov dword [ecx + 0xc], eax
movss dword [ecx + 0x14], xmm7
mov ecx, dword [esp + 8]
mov eax, dword [edi + 0x70]
add ecx, 0x18
mov dword [esp + 8], ecx
movss dword [ecx + 0x10], xmm5
movss xmm5, dword [esp + 0x14]
movss dword [ecx + 4], xmm2
xorps xmm2, xmmword [0x101df110]
maxss xmm2, dword [esp + 0x24]
movss dword [ecx], xmm4
maxss xmm4, dword [esp + 0x20]
mov dword [ecx + 8], 0x3f666666
mov dword [ecx + 0xc], eax
movss dword [ecx + 0x14], xmm5
mov ecx, dword [esp + 8]
mov eax, dword [edi + 0x70]
add ecx, 0x18
mov dword [esp + 8], ecx
movss dword [esp + 0x20], xmm4
movss dword [esp + 0x24], xmm2
movss dword [ecx], xmm1
movss dword [ecx + 4], xmm0
mov dword [ecx + 8], 0x3f666666
mov dword [ecx + 0xc], eax
movss dword [ecx + 0x10], xmm6
movss dword [ecx + 0x14], xmm7
add dword [esp + 8], 0x18
add dword [esp + 0x34], 2
movd xmm0, dword [ebp + 8]
mov eax, edx
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x28], eax
xorps xmm1, xmm1
divss xmm0, dword [edi + 0x5c]
movss dword [esp + 0x30], xmm1
subss xmm3, xmm0
movss dword [esp + 0x44], xmm3
jmp 0x1008baf3
cmp esi, dword [ecx + 0x14]
jbe 0x1008b6f7
push str.string_subscript_out_of_range
push 0x101d467c
push 0
push 0xfea
push 0x101d4a50
push 2
call fcn.10143d00
add esp, 0x18
cmp eax, 1
jne 0x1008b6d1
int3
push 0
push 0xfea
push str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.40.33807includexstring
push 0x101d47ac
push str._string_subscript_out_of_range_
call fcn.10152640
mov eax, dword [esp + 0x50]
add esp, 0x14
mov ecx, dword [esp + 0x38]
cmp dword [ecx + 0x18], 0xf
mov edx, eax
jbe 0x1008b701
mov edx, dword [eax]
cmp byte [edx + esi], 0
jge 0x1008b775
cmp esi, dword [ecx + 0x14]
jbe 0x1008b758
push str.string_subscript_out_of_range
push 0x101d467c
push 0
push 0xfea
push 0x101d4a50
push 2
call fcn.10143d00
add esp, 0x18
cmp eax, 1
jne 0x1008b732
int3
push 0
push 0xfea
push str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.40.33807includexstring
push 0x101d47ac
push str._string_subscript_out_of_range_
call fcn.10152640
mov eax, dword [esp + 0x50]
add esp, 0x14
mov ecx, dword [esp + 0x38]
cmp dword [ecx + 0x18], 0xf
mov edx, eax
jbe 0x1008b762
mov edx, dword [eax]
mov ax, word [edx + esi]
add esi, 2
mov word [esp + 0xc], ax
mov byte [esp + 0xe], 0
jmp 0x1008b7dd
cmp esi, dword [ecx + 0x14]
jbe 0x1008b7c6
push str.string_subscript_out_of_range
push 0x101d467c
push 0
push 0xfea
push 0x101d4a50
push 2
call fcn.10143d00
add esp, 0x18
cmp eax, 1
jne 0x1008b7a0
int3
push 0
push 0xfea
push str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.40.33807includexstring
push 0x101d47ac
push str._string_subscript_out_of_range_
call fcn.10152640
mov eax, dword [esp + 0x50]
add esp, 0x14
mov ecx, dword [esp + 0x38]
cmp dword [ecx + 0x18], 0xf
mov edx, eax
jbe 0x1008b7d0
mov edx, dword [eax]
mov al, byte [edx + esi]
inc esi
mov byte [esp + 0xc], al
mov byte [esp + 0xd], 0
push dword [edi + 0x60]
push dword [0x1027e784]
call dword [sym.imp.GDI32.dll_SelectObject]
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [esp + 0x14]
push eax
push dword [0x1027e784]
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32A]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x10]
add eax, ecx
cmp eax, dword [edi + 0x54]
jbe 0x1008ba9c
mov eax, dword [ebp + 8]
mov edx, dword [esp + 0x2c]
add eax, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x28]
cmp eax, ecx
je 0x1008ba84
mov ecx, dword [edi + 0x54]
xorps xmm0, xmm0
cvtsi2sd xmm0, ecx
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x101de670]
mov ecx, dword [esp + 0x10]
cvtpd2ps xmm2, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x101de670]
mov eax, dword [edi + 0x58]
cvtpd2ps xmm5, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
divss xmm5, xmm2
addsd xmm0, qword [eax*8 + 0x101de670]
mov eax, edx
shr eax, 0x1f
cvtpd2ps xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, edx
mov edx, dword [esp + 0x18]
addsd xmm0, qword [eax*8 + 0x101de670]
mov eax, ecx
shr eax, 0x1f
cvtpd2ps xmm6, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, ecx
divss xmm6, xmm1
addsd xmm0, qword [eax*8 + 0x101de670]
mov eax, edx
shr eax, 0x1f
cmp dword [esp + 0x34], 0x12c
cvtpd2ps xmm7, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, edx
divss xmm7, xmm2
addsd xmm0, qword [eax*8 + 0x101de670]
movaps xmm3, xmm7
subss xmm3, xmm5
cvtpd2ps xmm4, xmm0
mulss xmm3, xmm2
divss xmm4, xmm1
divss xmm3, dword [edi + 0x5c]
movss dword [esp + 0x18], xmm4
subss xmm4, xmm6
mulss xmm4, xmm1
divss xmm4, dword [edi + 0x5c]
jae 0x1008bb3a
mov ecx, dword [esp + 8]
xorps xmm0, xmm0
mov eax, dword [edi + 0x70]
addss xmm3, dword [esp + 0x30]
movss xmm1, dword [esp + 0x30]
mov dword [ecx + 8], 0x3f666666
addss xmm1, xmm0
mov dword [ecx + 0xc], eax
movss dword [ecx + 0x10], xmm5
movss xmm2, dword [esp + 0x44]
movaps xmm0, xmm2
movss dword [esp + 0x30], xmm3
movss dword [ecx], xmm1
subss xmm2, xmm4
movss xmm4, dword [esp + 0x30]
xorps xmm3, xmm3
addss xmm0, xmm3
add dword [esp + 0x1c], 2
movss xmm3, dword [esp + 0x18]
movss dword [ecx + 0x14], xmm3
movss dword [ecx + 4], xmm2
mov ecx, dword [esp + 8]
mov eax, dword [edi + 0x70]
add ecx, 0x18
mov dword [esp + 8], ecx
mov dword [esp + 0x2c], edx
movss dword [ecx + 4], xmm0
movss dword [ecx], xmm1
mov dword [ecx + 8], 0x3f666666
mov dword [ecx + 0xc], eax
movss dword [ecx + 0x10], xmm5
movss dword [ecx + 0x14], xmm6
mov ecx, dword [esp + 8]
mov eax, dword [edi + 0x70]
add ecx, 0x18
mov dword [esp + 8], ecx
movss dword [ecx + 4], xmm2
movss dword [ecx], xmm4
mov dword [ecx + 8], 0x3f666666
mov dword [ecx + 0xc], eax
movss dword [ecx + 0x10], xmm7
movss dword [ecx + 0x14], xmm3
mov ecx, dword [esp + 8]
mov eax, dword [edi + 0x70]
add ecx, 0x18
mov dword [esp + 8], ecx
movss dword [ecx + 4], xmm0
movss dword [ecx], xmm4
mov dword [ecx + 8], 0x3f666666
mov dword [ecx + 0xc], eax
movss dword [ecx + 0x10], xmm7
movss dword [ecx + 0x14], xmm6
mov ecx, dword [esp + 8]
mov eax, dword [edi + 0x70]
add ecx, 0x18
mov dword [esp + 8], ecx
movss dword [ecx + 4], xmm2
xorps xmm2, xmmword [0x101df110]
maxss xmm2, dword [esp + 0x24]
movss dword [ecx], xmm4
mov dword [ecx + 8], 0x3f666666
mov dword [ecx + 0xc], eax
movss dword [ecx + 0x10], xmm7
movss dword [ecx + 0x14], xmm3
mov ecx, dword [esp + 8]
mov eax, dword [edi + 0x70]
add ecx, 0x18
mov dword [esp + 8], ecx
movss dword [esp + 0x24], xmm2
movss dword [ecx + 4], xmm0
movaps xmm0, xmm4
maxss xmm0, dword [esp + 0x20]
movss dword [ecx], xmm1
mov dword [ecx + 8], 0x3f666666
mov dword [ecx + 0xc], eax
movss dword [ecx + 0x10], xmm5
movss dword [ecx + 0x14], xmm6
add dword [esp + 8], 0x18
add dword [esp + 0x34], 2
movss dword [esp + 0x20], xmm0
jmp 0x1008ba8c
mov eax, dword [esp + 0x18]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0x28], 0
push dword [edi + 0x60]
push dword [0x1027e784]
call dword [sym.imp.GDI32.dll_SelectObject]
push 0
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, dword [esp + 0x14]
push eax
lea eax, [esp + 0x14]
push eax
push 0
push 2
push dword [esp + 0x40]
push ecx
push dword [0x1027e784]
call dword [sym.imp.GDI32.dll_ExtTextOutA]
mov edx, dword [esp + 0x10]
add edx, dword [esp + 0x48]
movss xmm3, dword [esp + 0x44]
movss xmm1, dword [esp + 0x30]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], edx
mov ecx, edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ecx
cmp esi, dword [esp + 0x40]
jge 0x1008bb64
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
jmp 0x1008b3a2
push 0x25b
push 0x101d9690
push 0x101d9718
push str.ERROR____s_n_s:__d_n_n
call fcn.10089a80
mov ecx, dword [esp + 0x20]
add esp, 0x10
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x1c]
jmp 0x1008bbb4
push 0x28c
push 0x101d9690
push 0x101d9718
push str.ERROR____s_n_s:__d_n_n
call fcn.10089a80
mov ecx, dword [esp + 0x20]
add esp, 0x10
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x1c]
jmp 0x1008bbb4
movss xmm4, dword [esp + 0x20]
mov edx, eax
mov eax, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x18]
movss dword [esp + 0x40], xmm4
mov dword [esp + 0x1c], esi
movss dword [esp + 0x30], xmm1
movss dword [esp + 0x44], xmm3
movss dword [esp + 0x20], xmm4
movss dword [esp + 0x40], xmm2
movss dword [esp + 0x24], xmm2
cmp eax, dword [esp + 0x14]
je 0x1008be3b
mov eax, dword [edi + 0x54]
xorps xmm0, xmm0
add esi, 2
mov dword [esp + 0x1c], esi
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x101de670]
mov eax, dword [edi + 0x58]
cvtpd2ps xmm2, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, edx
shr edx, 0x1f
addsd xmm0, qword [edx*8 + 0x101de670]
mov edx, dword [esp + 0x2c]
cvtpd2ps xmm5, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
divss xmm5, xmm2
addsd xmm0, qword [eax*8 + 0x101de670]
mov eax, edx
movss dword [esp + 0x18], xmm5
shr eax, 0x1f
cvtpd2ps xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, edx
addsd xmm0, qword [eax*8 + 0x101de670]
mov eax, dword [ebp + 8]
add eax, edx
cvtpd2ps xmm6, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, ecx
shr ecx, 0x1f
divss xmm6, xmm1
addsd xmm0, qword [ecx*8 + 0x101de670]
movss dword [esp + 0x14], xmm6
cvtpd2ps xmm7, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
divss xmm7, xmm2
addsd xmm0, qword [eax*8 + 0x101de670]
movss dword [esp + 0x3c], xmm7
movaps xmm3, xmm7
subss xmm3, xmm5
cvtpd2ps xmm4, xmm0
mulss xmm3, xmm2
divss xmm4, xmm1
divss xmm3, dword [edi + 0x5c]
movss dword [esp + 0x34], xmm4
movaps xmm2, xmm4
movss dword [esp + 0x40], xmm3
subss xmm2, xmm6
mulss xmm2, xmm1
divss xmm2, dword [edi + 0x5c]
movss dword [esp + 0x38], xmm2
cmp esi, 0x12c
jb 0x1008bce6
push 0x2b6
push 0x101d9690
push 0x101d9718
push str.ERROR____s_n_s:__d_n_n
call fcn.10089a80
movss xmm3, dword [esp + 0x50]
add esp, 0x10
movss xmm5, dword [esp + 0x18]
movss xmm6, dword [esp + 0x14]
movss xmm7, dword [esp + 0x3c]
mov ecx, dword [esp + 8]
xorps xmm4, xmm4
mov eax, dword [edi + 0x70]
movss xmm2, dword [esp + 0x44]
movss xmm1, dword [esp + 0x30]
movaps xmm0, xmm2
mov dword [ecx + 8], 0x3f666666
addss xmm1, xmm4
mov dword [ecx + 0xc], eax
addss xmm0, xmm4
movss dword [ecx + 0x10], xmm5
subss xmm2, dword [esp + 0x38]
movss xmm4, dword [esp + 0x34]
movss dword [ecx], xmm1
movss dword [ecx + 0x14], xmm4
addss xmm3, dword [esp + 0x30]
movss dword [ecx + 4], xmm2
mov ecx, dword [esp + 8]
mov eax, dword [edi + 0x70]
add ecx, 0x18
mov dword [esp + 8], ecx
movss dword [ecx + 4], xmm0
movss dword [ecx], xmm1
mov dword [ecx + 8], 0x3f666666
mov dword [ecx + 0xc], eax
movss dword [ecx + 0x10], xmm5
movss dword [ecx + 0x14], xmm6
mov ecx, dword [esp + 8]
mov eax, dword [edi + 0x70]
add ecx, 0x18
mov dword [esp + 8], ecx
movss dword [ecx + 4], xmm2
movss dword [ecx], xmm3
mov dword [ecx + 8], 0x3f666666
mov dword [ecx + 0xc], eax
movss dword [ecx + 0x10], xmm7
movss dword [ecx + 0x14], xmm4
mov ecx, dword [esp + 8]
mov eax, dword [edi + 0x70]
add ecx, 0x18
mov dword [esp + 8], ecx
movss dword [ecx + 4], xmm0
movss dword [ecx], xmm3
mov dword [ecx + 8], 0x3f666666
mov dword [ecx + 0xc], eax
movss dword [ecx + 0x10], xmm7
movss dword [ecx + 0x14], xmm6
mov ecx, dword [esp + 8]
mov eax, dword [edi + 0x70]
add ecx, 0x18
mov dword [esp + 8], ecx
movss dword [ecx + 4], xmm2
xorps xmm2, xmmword [0x101df110]
maxss xmm2, dword [esp + 0x24]
movss dword [ecx], xmm3
maxss xmm3, dword [esp + 0x20]
mov dword [ecx + 8], 0x3f666666
mov dword [ecx + 0xc], eax
movss dword [ecx + 0x10], xmm7
movss dword [ecx + 0x14], xmm4
mov ecx, dword [esp + 8]
mov eax, dword [edi + 0x70]
add ecx, 0x18
mov dword [esp + 8], ecx
movss dword [ecx + 4], xmm0
movaps xmm0, xmm3
movss dword [esp + 0x20], xmm0
movaps xmm0, xmm2
movss dword [ecx], xmm1
mov dword [ecx + 8], 0x3f666666
mov dword [ecx + 0xc], eax
movss dword [ecx + 0x10], xmm5
movss dword [ecx + 0x14], xmm6
add dword [esp + 8], 0x18
movss dword [esp + 0x24], xmm0
jmp 0x1008be3b
xor esi, esi
mov eax, dword [edi + 0x50]
lea edx, [esp + 8]
push 0
push edx
push 0
mov ecx, dword [eax]
push 0
push eax
call dword [ecx + 0x2c]
lea esi, [esi + esi*2]
test esi, esi
jle 0x1008bec9
lea edx, [esp + 0x54]
nop word [eax + eax]
mov eax, dword [edi + 0x40]
movss xmm2, dword [edx - 4]
mov ecx, dword [esp + 8]
movd xmm0, eax
shr eax, 0x1f
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [eax*8 + 0x101de670]
lea eax, [ecx + 0x18]
mov dword [esp + 8], eax
cvtpd2ps xmm1, xmm0
movss xmm0, dword [edx]
divss xmm2, xmm1
divss xmm0, xmm1
movss dword [edx - 4], xmm2
movss dword [edx], xmm0
movss dword [ecx], xmm2
mov eax, dword [edx]
mov dword [ecx + 4], eax
mov eax, dword [edx + 4]
mov dword [ecx + 8], eax
mov eax, dword [edx + 8]
mov dword [ecx + 0xc], eax
mov eax, dword [edx + 0xc]
mov dword [ecx + 0x10], eax
mov eax, dword [edx + 0x10]
add edx, 0x18
mov dword [ecx + 0x14], eax
sub esi, 1
jne 0x1008be60
mov eax, dword [edi + 0x50]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x30]
mov eax, dword [esp + 0x1c]
movss xmm1, dword [esp + 0x20]
mov dword [edi + 0x64], eax
mov eax, dword [edi + 0x40]
mov dword [edi + 0x6c], 0
mov dword [edi + 0x68], 0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x101de670]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
cvttss2si eax, xmm1
movss xmm1, dword [esp + 0x24]
divss xmm1, xmm0
mov dword [edi + 0x78], eax
cvttss2si eax, xmm1
mov dword [edi + 0x7c], eax
pop edi
pop esi
mov ecx, dword [esp + 0x1c6c]
xor ecx, esp
call fcn.1013c8c0
mov esp, ebp
pop ebp
ret 0xc
push 0x235
push 0x101d9690
push str.NULL_Vertex_Buffer_or_DC_or_Font_Handle
push str.ERROR____s_n_s:__d_n_n
call fcn.10089a80
mov ecx, dword [esp + 0x1c84]
add esp, 0x10
pop edi
pop esi
xor ecx, esp
call fcn.1013c8c0
mov esp, ebp
pop ebp
ret 0xc