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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x2c
mov ebp, edx
mov edi, ecx
mov eax, edx
sub eax, ecx
cmp eax, 0xee404
jge 0x10214ef6
mov ecx, edi
mov edx, ebp
add esp, 0x2c
pop esi
pop edi
pop ebx
pop ebp
jmp 0x10215450
mov esi, dword [esp + 0x40]
mov ecx, edi
mov dword [esp + 0x24], ebp
jmp 0x10214f34
mov ecx, edi
mov edx, ebp
push esi
call fcn.10214ed0
mov ecx, dword [esp + 4]
add esp, 4
mov eax, ebx
mov ebp, ebx
mov edi, ecx
mov dword [esp + 0x24], eax
sub eax, ecx
cmp eax, 0xee404
jl 0x10214ee6
test esi, esi
jle 0x10215437
mov dword [esp + 0x28], esi
shr eax, 2
mov edi, 0x23755a23
mov dword [esp], ecx
mul edi
shr edx, 0xb
imul ebx, edx, 0x7384
mov ecx, dword [esp]
lea esi, [ecx + ebx]
mov dword [esp + 0x14], ebp
add ebp, 0xffff8c7c
mov eax, ebp
sub eax, ecx
cmp eax, 0x120ca1
jl 0x10215190
mov dword [esp + 0x20], ebx
shr eax, 2
mul edi
mov ebx, edx
mov ecx, dword [esp]
shr ebx, 0xa
add ebx, 1
shr ebx, 3
lea eax, [ebx + ebx]
mov dword [esp + 0x10], eax
imul edi, ebx, 0x7384
lea eax, [ecx + edi]
mov dword [esp + 8], eax
lea eax, [ecx + edi]
add eax, 4
mov dword [esp + 0x1c], eax
movss xmm0, dword [ecx + edi + 4]
ucomiss xmm0, dword [ecx + 4]
jbe 0x10214fcf
push ecx
push dword [esp + 0xc]
call fcn.10218aa0
mov ecx, dword [esp + 8]
add esp, 8
mov eax, dword [esp + 0x1c]
movss xmm0, dword [eax]
imul eax, dword [esp + 0x10], 0x7384
ucomiss xmm0, dword [ecx + eax + 4]
jae 0x10215016
imul eax, ebx, 0xe708
add eax, ecx
push dword [esp + 8]
push eax
call fcn.10218aa0
mov ecx, dword [esp + 8]
add esp, 8
mov eax, dword [esp + 0x1c]
movss xmm0, dword [eax]
ucomiss xmm0, dword [ecx + 4]
jbe 0x10215016
push ecx
push dword [esp + 0xc]
call fcn.10218aa0
mov ecx, dword [esp + 8]
add esp, 8
neg ebx
imul ebx, ebx, 0x7384
lea eax, [esi + ebx]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x20]
lea edx, [ecx + eax]
add edx, 4
mov dword [esp + 4], edx
movss xmm0, dword [ecx + eax + 4]
ucomiss xmm0, dword [esi + ebx + 4]
jbe 0x10215059
push dword [esp + 0xc]
push esi
call fcn.10218aa0
mov ecx, dword [esp + 8]
add esp, 8
mov eax, dword [esp + 4]
movss xmm0, dword [eax]
ucomiss xmm0, dword [esi + edi + 4]
jae 0x1021509c
add edi, esi
lea eax, [esi + ebx]
add eax, 4
mov dword [esp + 0x18], eax
push esi
push edi
call fcn.10218aa0
mov ecx, dword [esp + 8]
add esp, 8
mov eax, dword [esp + 4]
movss xmm0, dword [eax]
mov eax, dword [esp + 0x18]
ucomiss xmm0, dword [eax]
jbe 0x1021509c
push dword [esp + 0xc]
push esi
call fcn.10218aa0
mov ecx, dword [esp + 8]
add esp, 8
lea eax, [ebx + ebp]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x10]
neg eax
imul edi, eax, 0x7384
lea eax, [edi + ebp]
mov dword [esp + 0x18], eax
lea eax, [ebx + ebp]
add eax, 4
mov dword [esp + 0x10], eax
movss xmm0, dword [ebp + ebx + 4]
ucomiss xmm0, dword [ebp + edi + 4]
jbe 0x102150e9
push dword [esp + 0x18]
push dword [esp + 0x10]
call fcn.10218aa0
mov ecx, dword [esp + 8]
add esp, 8
mov eax, dword [esp + 0x10]
movss xmm0, dword [eax]
mov eax, dword [esp + 0x14]
ucomiss xmm0, dword [eax - 0x7380]
mov ebx, dword [esp + 0x20]
jae 0x10215131
add edi, ebp
add edi, 4
push dword [esp + 0xc]
push ebp
call fcn.10218aa0
mov ecx, dword [esp + 8]
add esp, 8
mov eax, dword [esp + 0x10]
movss xmm0, dword [eax]
ucomiss xmm0, dword [edi]
jbe 0x10215131
push dword [esp + 0x18]
push dword [esp + 0x10]
call fcn.10218aa0
mov ecx, dword [esp + 8]
add esp, 8
mov eax, dword [esp + 4]
movss xmm0, dword [eax]
mov eax, dword [esp + 0x1c]
ucomiss xmm0, dword [eax]
jbe 0x1021515b
push dword [esp + 8]
push esi
call fcn.10218aa0
mov ecx, dword [esp + 8]
add esp, 8
mov eax, dword [esp + 4]
movss xmm0, dword [eax]
mov eax, dword [esp + 0x10]
ucomiss xmm0, dword [eax]
jae 0x102151f0
push esi
push dword [esp + 0x10]
call fcn.10218aa0
mov ecx, dword [esp + 8]
add esp, 8
mov eax, dword [esp + 4]
movss xmm0, dword [eax]
mov eax, dword [esp + 0x1c]
ucomiss xmm0, dword [eax]
jbe 0x102151f0
jmp 0x102151dd
lea edi, [ecx + ebx]
add edi, 4
movss xmm0, dword [ecx + ebx + 4]
ucomiss xmm0, dword [ecx + 4]
jbe 0x102151b4
push ecx
push esi
call fcn.10218aa0
mov ecx, dword [esp + 8]
add esp, 8
movss xmm0, dword [edi]
mov eax, dword [esp + 0x14]
ucomiss xmm0, dword [eax - 0x7380]
jae 0x102151f0
push esi
push ebp
call fcn.10218aa0
mov ecx, dword [esp + 8]
add esp, 8
movss xmm0, dword [edi]
ucomiss xmm0, dword [ecx + 4]
mov dword [esp + 8], ecx
jbe 0x102151f0
push dword [esp + 8]
push esi
call fcn.10218aa0
mov ecx, dword [esp + 8]
add esp, 8
nop
mov edx, esi
cmp esi, ecx
jbe 0x1021520a
movss xmm0, dword [edx - 0x7380]
lea esi, [edx - 0x7384]
ucomiss xmm0, dword [edx + 4]
je 0x102151f0
lea eax, [ecx + ebx]
add eax, 0x7384
mov ebp, dword [esp + 0x14]
mov ebx, edx
nop dword [eax + eax]
mov esi, eax
cmp eax, ebp
jae 0x10215237
movss xmm0, dword [esi + 4]
lea eax, [esi + 0x7384]
ucomiss xmm0, dword [ebx + 4]
je 0x10215220
mov dword [esp + 4], esi
mov edi, ebx
jmp 0x10215254
push edi
push esi
call fcn.10218aa0
mov ecx, dword [esp + 8]
add esp, 8
add esi, 0x7384
cmp esi, ebp
jae 0x102152c0
mov edx, dword [esp + 4]
mov dword [esp + 8], ebx
jmp 0x1021527a
lea edx, [esi + 0x7384]
nop dword [eax + eax]
add esi, 0x7384
cmp esi, ebp
jae 0x102152c4
movss xmm0, dword [esi + 4]
movss xmm1, dword [ebx + 4]
ucomiss xmm1, xmm0
ja 0x10215270
ucomiss xmm0, xmm1
ja 0x102152c4
cmp esi, edx
je 0x10215262
push esi
push edx
mov ebx, ebp
mov ebp, edx
call fcn.10218aa0
mov edx, ebp
mov ebp, ebx
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 8]
add esp, 8
add edx, 0x7384
jmp 0x10215270
mov edx, dword [esp + 4]
cmp edi, ecx
mov dword [esp + 4], edx
jbe 0x10215330
add edi, 0xffff8c7c
jmp 0x102152ec
mov ebx, edi
lea edi, [ebp - 0x7384]
cmp ebp, ecx
jbe 0x10215340
mov ebp, edi
movss xmm0, dword [ebx + 4]
movss xmm1, dword [edi + 4]
ucomiss xmm1, xmm0
ja 0x102152e2
lea eax, [ebp + 0x7384]
ucomiss xmm0, xmm1
ja 0x10215348
lea edi, [ebx - 0x7384]
cmp eax, ebx
je 0x102152e0
push ebp
push edi
call fcn.10218aa0
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 8]
add esp, 8
jmp 0x102152e0
mov eax, edi
cmp eax, ecx
je 0x10215350
jmp 0x10215358
add edi, 0x7384
mov eax, edi
mov ebp, dword [esp + 0x14]
cmp eax, ecx
jne 0x10215358
cmp esi, ebp
je 0x102153f0
cmp eax, ecx
je 0x102153b0
lea edi, [eax - 0x7384]
cmp esi, ebp
jne 0x10215240
mov ecx, ebx
add ebx, 0xffff8c7c
cmp eax, ecx
je 0x10215384
push ebx
push edi
call fcn.10218aa0
mov edx, dword [esp + 0xc]
add esp, 8
add edx, 0xffff8c7c
mov dword [esp + 4], edx
push edx
push ebx
call fcn.10218aa0
add esp, 8
mov esi, ebp
mov ecx, dword [esp]
jmp 0x10215254
cmp edx, esi
je 0x102153c2
push edx
push ebx
call fcn.10218aa0
mov edx, dword [esp + 0xc]
add esp, 8
add edx, 0x7384
mov dword [esp + 4], edx
push esi
push ebx
call fcn.10218aa0
add esp, 8
add ebx, 0x7384
add esi, 0x7384
mov ecx, dword [esp]
mov edi, ecx
jmp 0x10215254
mov esi, dword [esp + 0x28]
mov eax, esi
sar eax, 1
sar esi, 2
add esi, eax
mov eax, ebx
sub eax, ecx
sar eax, 2
imul eax, eax, 0x48562721
mov edi, edx
mov edx, dword [esp + 0x24]
sub edx, edi
sar edx, 2
imul edx, edx, 0x48562721
cmp eax, edx
jge 0x10214f10
mov edx, ebx
push esi
call fcn.10214ed0
add esp, 4
mov ecx, edi
mov eax, ebp
jmp 0x10214f27
mov esi, ecx
mov edx, ebp
call fcn.102158b0
mov ecx, esi
mov edx, ebp
add esp, 0x2c
pop esi
pop edi
pop ebx
pop ebp
jmp 0x10215940
push ebp
push ebx
push edi
push esi
mov eax, 0x7390
call fcn.102e5760
cmp ecx, edx
je 0x102158a1
mov esi, edx
mov ebx, ecx
lea edi, [ecx + 0x7384]
cmp edi, edx
je 0x102158a1
lea ecx, [ebx + 0x1c]
mov dword [esp + 0x10], ecx
mov ebp, 0x7414
lea edx, [esp + 0x9c]
mov ecx, ebx
mov dword [esp + 0x14], esi
jmp 0x10215546
mov eax, dword [esp]
mov dword [edi], eax
movups xmmword [edi + 4], xmm0
mov eax, dword [esp + 4]
mov dword [edi + 0x14], eax
mov eax, dword [esp + 8]
mov dword [edi + 0x18], eax
movups xmm0, xmmword [esp + 0x7c]
movups xmm1, xmmword [esp + 0x8c]
movups xmmword [edi + 0x1c], xmm0
movups xmmword [edi + 0x2c], xmm1
movups xmm0, xmmword [esp + 0x2c]
movups xmmword [edi + 0x3c], xmm0
movups xmm0, xmmword [esp + 0x3c]
movups xmmword [edi + 0x4c], xmm0
movups xmm0, xmmword [esp + 0x4c]
movups xmmword [edi + 0x5c], xmm0
movups xmm0, xmmword [esp + 0x5c]
movups xmmword [edi + 0x6c], xmm0
movups xmm0, xmmword [esp + 0x6c]
movups xmmword [edi + 0x7c], xmm0
mov esi, dword [esp + 0x14]
lea eax, [esp + 0x9c]
movss xmm0, dword [esp + 0xc]
movss dword [edi + 0x8c], xmm0
add edi, 0x90
push 0x72f3
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
lea edx, [esp + 0xa8]
add esp, 0xc
mov ecx, dword [esp + 0x18]
lea edi, [ecx + 0x7384]
add ebp, 0x7384
cmp edi, esi
je 0x102158a1
mov eax, dword [ecx + 0x7384]
mov dword [esp], eax
movups xmm0, xmmword [ecx + 0x7388]
movups xmmword [esp + 0x1c], xmm0
mov eax, dword [ecx + 0x739c]
mov dword [esp + 8], eax
mov eax, dword [ecx + 0x7398]
mov dword [esp + 4], eax
movups xmm0, xmmword [ecx + 0x73b0]
movups xmmword [esp + 0x8c], xmm0
movups xmm0, xmmword [ecx + 0x73a0]
movups xmmword [esp + 0x7c], xmm0
movups xmm0, xmmword [ecx + 0x73c0]
movups xmmword [esp + 0x2c], xmm0
movups xmm0, xmmword [ecx + 0x73d0]
movups xmmword [esp + 0x3c], xmm0
movups xmm0, xmmword [ecx + 0x73e0]
movups xmmword [esp + 0x4c], xmm0
movups xmm0, xmmword [ecx + 0x73f0]
movups xmmword [esp + 0x5c], xmm0
movups xmm0, xmmword [ecx + 0x7400]
movups xmmword [esp + 0x6c], xmm0
movss xmm0, dword [ecx + 0x7410]
movss dword [esp + 0xc], xmm0
add ecx, 0x7414
push 0x72f3
push ecx
push edx
call sub.VCRUNTIME140.dll_memcpy
movups xmm0, xmmword [esp + 0x28]
add esp, 0xc
ucomiss xmm0, dword [ebx + 4]
mov dword [esp + 0x18], edi
jbe 0x102157b0
cmp edi, ebx
je 0x10215739
mov edi, ebp
nop word cs:[eax + eax]
lea eax, [ebx + edi]
mov ecx, dword [ebx + edi - 0x7414]
mov edx, dword [ebx + edi - 0x7410]
mov dword [ebx + edi - 0x8c], edx
mov dword [ebx + edi - 0x90], ecx
movss xmm0, dword [ebx + edi - 0x740c]
movss dword [ebx + edi - 0x88], xmm0
movss xmm0, dword [ebx + edi - 0x7408]
movss dword [ebx + edi - 0x84], xmm0
movss xmm0, dword [ebx + edi - 0x7404]
movss dword [ebx + edi - 0x80], xmm0
mov ecx, dword [ebx + edi - 0x7400]
mov edx, dword [ebx + edi - 0x73fc]
mov dword [ebx + edi - 0x78], edx
mov dword [ebx + edi - 0x7c], ecx
movups xmm0, xmmword [ebx + edi - 0x73f8]
movups xmmword [ebx + edi - 0x74], xmm0
movups xmm0, xmmword [ebx + edi - 0x73e8]
movups xmmword [ebx + edi - 0x64], xmm0
movss xmm0, dword [ebx + edi - 0x73d8]
movss dword [ebx + edi - 0x54], xmm0
movss xmm0, dword [ebx + edi - 0x73d4]
movss dword [ebx + edi - 0x50], xmm0
movss xmm0, dword [ebx + edi - 0x73d0]
movss dword [ebx + edi - 0x4c], xmm0
movups xmm0, xmmword [ebx + edi - 0x73cc]
movups xmmword [ebx + edi - 0x48], xmm0
movups xmm0, xmmword [ebx + edi - 0x73bc]
movups xmmword [ebx + edi - 0x38], xmm0
movups xmm0, xmmword [ebx + edi - 0x73ac]
movups xmmword [ebx + edi - 0x28], xmm0
movups xmm0, xmmword [ebx + edi - 0x739c]
movups xmmword [ebx + edi - 0x18], xmm0
movss xmm0, dword [ebx + edi - 0x738c]
movss dword [ebx + edi - 8], xmm0
movss xmm0, dword [ebx + edi - 0x7388]
movss dword [ebx + edi - 4], xmm0
lea ecx, [ebx + edi - 0x7384]
push 0x72f3
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 0xffff8c7c
cmp edi, 0x90
jne 0x10215610
mov eax, dword [esp]
mov dword [ebx], eax
movups xmm0, xmmword [esp + 0x1c]
movups xmmword [ebx + 4], xmm0
mov eax, dword [esp + 4]
mov dword [ebx + 0x14], eax
mov eax, dword [esp + 8]
mov dword [ebx + 0x18], eax
movups xmm0, xmmword [esp + 0x7c]
movups xmm1, xmmword [esp + 0x8c]
mov eax, dword [esp + 0x10]
movups xmmword [eax + 0x10], xmm1
movups xmmword [eax], xmm0
movups xmm0, xmmword [esp + 0x2c]
movups xmmword [ebx + 0x3c], xmm0
movups xmm0, xmmword [esp + 0x3c]
movups xmmword [ebx + 0x4c], xmm0
movups xmm0, xmmword [esp + 0x4c]
movups xmmword [ebx + 0x5c], xmm0
movups xmm0, xmmword [esp + 0x5c]
movups xmmword [ebx + 0x6c], xmm0
movups xmm0, xmmword [esp + 0x6c]
movups xmmword [ebx + 0x7c], xmm0
mov edi, ebx
jmp 0x102154fd
ucomiss xmm0, dword [edi - 0x7380]
jbe 0x102154a0
nop dword [eax]
lea esi, [edi - 0x7384]
mov eax, dword [edi - 0x7384]
mov ecx, dword [edi - 0x7380]
mov dword [edi + 4], ecx
mov dword [edi], eax
movss xmm0, dword [edi - 0x737c]
movss dword [edi + 8], xmm0
movss xmm0, dword [edi - 0x7378]
movss dword [edi + 0xc], xmm0
movss xmm0, dword [edi - 0x7374]
movss dword [edi + 0x10], xmm0
mov eax, dword [edi - 0x7370]
mov ecx, dword [edi - 0x736c]
mov dword [edi + 0x18], ecx
mov dword [edi + 0x14], eax
movups xmm0, xmmword [edi - 0x7368]
movups xmmword [edi + 0x1c], xmm0
movups xmm0, xmmword [edi - 0x7358]
movups xmmword [edi + 0x2c], xmm0
movups xmm0, xmmword [edi - 0x7348]
movups xmmword [edi + 0x3c], xmm0
movups xmm0, xmmword [edi - 0x7338]
movups xmmword [edi + 0x4c], xmm0
movups xmm0, xmmword [edi - 0x7328]
movups xmm1, xmmword [edi - 0x7318]
movups xmmword [edi + 0x5c], xmm0
movups xmmword [edi + 0x6c], xmm1
movups xmm0, xmmword [edi - 0x7308]
movups xmmword [edi + 0x7c], xmm0
movss xmm0, dword [edi - 0x72f8]
movss dword [edi + 0x8c], xmm0
lea eax, [edi + 0x90]
lea ecx, [edi - 0x72f4]
push 0x72f3
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
movups xmm0, xmmword [esp + 0x28]
add esp, 0xc
ucomiss xmm0, dword [edi - 0xe704]
mov edi, esi
ja 0x102157c0
jmp 0x102154a0
add esp, 0x7390
pop esi
pop edi
pop ebx
pop ebp
ret
push ebp
push ebx
push edi
push esi
mov eax, 0x738c
call fcn.102e5760
mov ebx, edx
sub ebx, ecx
cmp ebx, 0x7385
jl 0x10215b0c
mov esi, edx
mov edi, ecx
lea eax, [ecx + 0x1c]
mov dword [esp], eax
lea eax, [ecx + 0x90]
mov dword [esp + 4], eax
add esi, 0xffff8d0c
nop dword [eax + eax]
lea eax, [esi - 0x90]
push 0x7384
push eax
lea eax, [esp + 0x10]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movsd xmm0, qword [edi]
movsd qword [esi - 0x90], xmm0
movss xmm0, dword [edi + 8]
movss dword [esi - 0x88], xmm0
movss xmm0, dword [edi + 0xc]
movss dword [esi - 0x84], xmm0
movss xmm0, dword [edi + 0x10]
movss dword [esi - 0x80], xmm0
mov eax, dword [edi + 0x14]
mov ecx, dword [edi + 0x18]
mov dword [esi - 0x78], ecx
mov dword [esi - 0x7c], eax
mov eax, dword [esp]
movups xmm0, xmmword [eax]
movups xmm1, xmmword [eax + 0x10]
movups xmmword [esi - 0x64], xmm1
movups xmmword [esi - 0x74], xmm0
movss xmm0, dword [edi + 0x3c]
movss dword [esi - 0x54], xmm0
movss xmm0, dword [edi + 0x40]
movss dword [esi - 0x50], xmm0
movss xmm0, dword [edi + 0x44]
movss dword [esi - 0x4c], xmm0
movss xmm0, dword [edi + 0x48]
movss dword [esi - 0x48], xmm0
movss xmm0, dword [edi + 0x4c]
movss dword [esi - 0x44], xmm0
movss xmm0, dword [edi + 0x50]
movss dword [esi - 0x40], xmm0
movss xmm0, dword [edi + 0x54]
movss dword [esi - 0x3c], xmm0
movss xmm0, dword [edi + 0x58]
movss dword [esi - 0x38], xmm0
movss xmm0, dword [edi + 0x5c]
movss dword [esi - 0x34], xmm0
movss xmm0, dword [edi + 0x60]
movss dword [esi - 0x30], xmm0
movss xmm0, dword [edi + 0x64]
movss dword [esi - 0x2c], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [esi - 0x28], xmm0
movss xmm0, dword [edi + 0x6c]
movss dword [esi - 0x24], xmm0
movss xmm0, dword [edi + 0x70]
movss dword [esi - 0x20], xmm0
movss xmm0, dword [edi + 0x74]
movss dword [esi - 0x1c], xmm0
movss xmm0, dword [edi + 0x78]
movss dword [esi - 0x18], xmm0
movss xmm0, dword [edi + 0x7c]
movss dword [esi - 0x14], xmm0
movss xmm0, dword [edi + 0x80]
movss dword [esi - 0x10], xmm0
movss xmm0, dword [edi + 0x84]
movss dword [esi - 0xc], xmm0
movss xmm0, dword [edi + 0x88]
movss dword [esi - 8], xmm0
movss xmm0, dword [edi + 0x8c]
movss dword [esi - 4], xmm0
push 0x72f3
push dword [esp + 8]
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add ebx, 0xffff8c7c
mov eax, ebx
sar eax, 2
imul eax, eax, 0x48562721
mov ecx, edi
xor edx, edx
lea ebp, [esp + 8]
push ebp
push eax
call fcn.10215b20
add esp, 8
add esi, 0xffff8c7c
cmp ebx, 0x7384
jg 0x10215980
add esp, 0x738c
pop esi
pop edi
pop ebx
pop ebp
ret