Function at 0x100bcd20
Capabilities:
Check os version
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x240
mov eax, dword [0x10155368]
xor eax, esp
mov dword [esp + 0x23c], eax
push esi
xor eax, eax
mov esi, ecx
mov dword [esp + 0x44], eax
push edi
mov dword [esp + 0x1c], eax
mov eax, dword [sym.imp.MSVCP140.dll__Mtx_lock]
push 0x101d58ec
mov dword [esp + 0x24], esi
mov dword [esp + 0x4c], eax
call eax
add esp, 4
test eax, eax
je 0x100bcd6a
push eax
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
mov ecx, esi
call fcn.100bc6c0
mov edi, dword [0x101d34ec]
mov eax, dword [edi + 4]
cmp eax, dword [edi + 8]
mov eax, dword [sym.imp.MSVCP140.dll__Mtx_unlock]
mov dword [esp + 0x38], eax
je 0x100becf4
mov esi, dword [0x101cbf70]
lea eax, [esp + 0xd0]
push eax
mov ecx, 0x101caf28
call fcn.10048960
cmp dword [esp + 0xe4], 0x10
lea ecx, [esp + 0xd0]
mov eax, dword [0x101cc484]
cmovae ecx, dword [esp + 0xd0]
push ecx
mov ecx, dword [eax]
call esi
mov edx, dword [esp + 0xe4]
mov dword [esp + 0x3c], eax
cmp edx, 0x10
jb 0x100bce07
mov ecx, dword [esp + 0xd0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100bcdfd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100bcdfd
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100d195a
add esp, 8
mov esi, dword [edi + 4]
mov eax, dword [edi + 8]
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0xf
mov byte [esp + 0xd0], 0
mov dword [esp + 0x44], esi
mov dword [esp + 0x18], eax
cmp esi, eax
je 0x100becf0
mov eax, dword [0x101cbde8]
mov dword [esp + 0x2c], eax
mov eax, dword fs:[0x2c]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x18]
mov esi, dword [esi]
mov dword [esp + 0xc], esi
test esi, esi
je 0x100becdd
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
mov dword [esp + 0x24], ecx
mov eax, dword [eax + 0x28]
call eax
imul edi, eax, 0xd2c
add edi, dword [esp + 0x20]
mov dword [esp + 0x10], edi
cmp dword [edi + 0x74], esi
je 0x100bcefc
push 0
mov ecx, edi
call fcn.10086e60
lea ecx, [esi + 8]
mov dword [edi + 0x74], esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [esp + 0x20]
shl eax, 5
mov dword [eax + ecx + 0x50d830], 0
mov dword [eax + ecx + 0x50d83c], 0
mov dword [eax + ecx + 0x50d838], 0
mov dword [eax + ecx + 0x50d834], 0
mov dword [eax + ecx + 0x50d848], 0
mov dword [eax + ecx + 0x50d844], 0
mov dword [eax + ecx + 0x50d840], 0
mov dword [eax + ecx + 0x50d82c], 0
jmp 0x100becd9
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov esi, dword [ecx + eax*4]
mov eax, dword [0x101d36b4]
cmp eax, dword [esi + 4]
jle 0x100bcf41
push 0x101d36b4
call fcn.100d1535
add esp, 4
cmp dword [0x101d36b4], 0xffffffff
jne 0x100bcf41
mov eax, dword [0x101d36a4]
push 0x101d36b4
mov dword [0x101d368c], eax
call fcn.100d14eb
add esp, 4
mov ecx, dword [esp + 0xc]
mov eax, dword [0x101d368c]
mov eax, dword [eax + ecx]
mov dword [esp + 0x28], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x101d57bc]
movq xmm0, qword [eax]
movq qword [esp + 0x4c], xmm0
mov eax, dword [eax + 8]
mov dword [esp + 0x54], eax
cmp ecx, dword [esi + 4]
jle 0x100bcfac
push 0x101d57bc
call fcn.100d1535
mov ecx, dword [0x101d57bc]
add esp, 4
cmp ecx, 0xffffffff
jne 0x100bcfac
mov eax, dword [0x101d38f8]
push 0x101d57bc
mov dword [0x101d5790], eax
call fcn.100d14eb
mov ecx, dword [0x101d57bc]
add esp, 4
mov eax, dword [0x101d5790]
mov edx, dword [esp + 0xc]
cmp dword [eax + edx], 4
je 0x100bd003
cmp ecx, dword [esi + 4]
jle 0x100bcff0
push 0x101d57bc
call fcn.100d1535
add esp, 4
cmp dword [0x101d57bc], 0xffffffff
jne 0x100bcff0
mov eax, dword [0x101d38f8]
push 0x101d57bc
mov dword [0x101d5790], eax
call fcn.100d14eb
add esp, 4
mov eax, dword [0x101d5790]
mov ecx, dword [esp + 0xc]
cmp dword [eax + ecx], 5
jne 0x100bd336
mov eax, dword [0x101cbe24]
mov eax, dword [eax]
mov edi, dword [eax + 0x10]
mov eax, dword [0x101d37fc]
cmp eax, dword [esi + 4]
jle 0x100bd047
push 0x101d37fc
call fcn.100d1535
add esp, 4
cmp dword [0x101d37fc], 0xffffffff
jne 0x100bd047
mov eax, dword [0x101d37c8]
push 0x101d37fc
mov dword [0x101d3778], eax
call fcn.100d14eb
add esp, 4
mov eax, dword [0x101d3778]
mov ecx, dword [esp + 0xc]
push dword [eax + ecx]
mov ecx, dword [0x101cbe24]
call edi
mov edi, eax
test edi, edi
je 0x100becd2
mov ecx, dword [0x101d3664]
cmp ecx, dword [esi + 4]
jle 0x100bd0a0
push 0x101d3664
call fcn.100d1535
add esp, 4
cmp dword [0x101d3664], 0xffffffff
jne 0x100bd0a0
mov eax, dword [0x101d366c]
push 0x101d3664
mov dword [0x101d3668], eax
call fcn.100d14eb
add esp, 4
mov eax, dword [0x101d3668]
cmp dword [eax + edi], 0
jne 0x100becd2
mov eax, dword [0x101d3674]
cmp eax, dword [esi + 4]
jle 0x100bd0e9
push 0x101d3674
call fcn.100d1535
add esp, 4
cmp dword [0x101d3674], 0xffffffff
jne 0x100bd0e9
mov eax, dword [0x101d3670]
push 0x101d3674
mov dword [0x101d3660], eax
call fcn.100d14eb
add esp, 4
mov eax, dword [0x101d3660]
cmp dword [eax + edi], 0
jle 0x100becd2
cmp edi, dword [0x101cb758]
je 0x100becd9
mov ecx, dword [0x101d39a0]
cmp ecx, dword [esi + 4]
jle 0x100bd147
push 0x101d39a0
call fcn.100d1535
mov ecx, dword [0x101d39a0]
add esp, 4
cmp ecx, 0xffffffff
jne 0x100bd147
mov eax, dword [0x101d3888]
push 0x101d39a0
mov dword [0x101d3990], eax
call fcn.100d14eb
mov ecx, dword [0x101d39a0]
add esp, 4
mov eax, dword [0x101d3990]
mov eax, dword [eax + edi]
mov dword [esp + 0x40], eax
mov eax, dword [0x101cb758]
mov dword [esp + 0x14], eax
cmp ecx, dword [esi + 4]
jle 0x100bd191
push 0x101d39a0
call fcn.100d1535
add esp, 4
cmp dword [0x101d39a0], 0xffffffff
jne 0x100bd191
mov eax, dword [0x101d3888]
push 0x101d39a0
mov dword [0x101d3990], eax
call fcn.100d14eb
add esp, 4
mov eax, dword [0x101d3990]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x40]
cmp ecx, dword [eax + edx]
je 0x100becd9
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x101d376c]
mov edi, eax
shl edi, 5
cmp ecx, dword [esi + 4]
jle 0x100bd1f2
push 0x101d376c
call fcn.100d1535
add esp, 4
cmp dword [0x101d376c], 0xffffffff
jne 0x100bd1f2
mov eax, dword [0x101d3764]
push 0x101d376c
mov dword [0x101d3768], eax
call fcn.100d14eb
add esp, 4
mov edx, dword [esp + 0x20]
mov eax, dword [0x101d3768]
mov ecx, dword [esp + 0xc]
movq xmm0, qword [eax + ecx]
movq qword [edi + edx + 0x50d840], xmm0
mov eax, dword [eax + ecx + 8]
mov dword [edi + edx + 0x50d848], eax
movss xmm1, dword [edi + edx + 0x50d840]
movss xmm2, dword [edi + edx + 0x50d844]
subss xmm2, dword [edi + edx + 0x50d838]
subss xmm1, dword [edi + edx + 0x50d834]
movss xmm0, dword [edi + edx + 0x50d848]
subss xmm0, dword [edi + edx + 0x50d83c]
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
movss xmm0, dword [0x101504f0]
comiss xmm0, xmm2
jbe 0x100bd324
mov eax, dword [0x101d376c]
cmp eax, dword [esi + 4]
jle 0x100bd2b5
push 0x101d376c
call fcn.100d1535
add esp, 4
cmp dword [0x101d376c], 0xffffffff
jne 0x100bd2ad
mov eax, dword [0x101d3764]
push 0x101d376c
mov dword [0x101d3768], eax
call fcn.100d14eb
add esp, 4
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0xc]
mov eax, dword [0x101d3768]
movq xmm0, qword [eax + ecx]
movq qword [edi + edx + 0x50d834], xmm0
mov eax, dword [eax + ecx + 8]
mov dword [edi + edx + 0x50d83c], eax
mov eax, dword [0x101d36b4]
cmp eax, dword [esi + 4]
jle 0x100bd315
push 0x101d36b4
call fcn.100d1535
add esp, 4
cmp dword [0x101d36b4], 0xffffffff
jne 0x100bd30d
mov eax, dword [0x101d36a4]
push 0x101d36b4
mov dword [0x101d368c], eax
call fcn.100d14eb
add esp, 4
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0xc]
mov eax, dword [0x101d368c]
mov eax, dword [eax + ecx]
mov dword [edi + edx + 0x50d82c], eax
mov eax, dword [0x101cbe28]
mov eax, dword [eax]
mov dword [edi + edx + 0x50d830], eax
mov edi, dword [esp + 0x10]
mov eax, dword [0x101d3664]
cmp eax, dword [esi + 4]
jle 0x100bd370
push 0x101d3664
call fcn.100d1535
add esp, 4
cmp dword [0x101d3664], 0xffffffff
jne 0x100bd370
mov eax, dword [0x101d366c]
push 0x101d3664
mov dword [0x101d3668], eax
call fcn.100d14eb
add esp, 4
mov eax, dword [0x101d3668]
mov ecx, dword [esp + 0xc]
cmp dword [eax + ecx], 0
jne 0x100beccd
mov eax, dword [0x101d3674]
cmp eax, dword [esi + 4]
jle 0x100bd3c1
push 0x101d3674
call fcn.100d1535
add esp, 4
cmp dword [0x101d3674], 0xffffffff
jne 0x100bd3bd
mov eax, dword [0x101d3670]
push 0x101d3674
mov dword [0x101d3660], eax
call fcn.100d14eb
add esp, 4
mov ecx, dword [esp + 0xc]
mov eax, dword [0x101d3660]
cmp dword [eax + ecx], 0
jle 0x100beccd
mov eax, dword [0x101d3664]
mov edi, dword [0x101cb758]
cmp eax, dword [esi + 4]
jle 0x100bd410
push 0x101d3664
call fcn.100d1535
add esp, 4
cmp dword [0x101d3664], 0xffffffff
jne 0x100bd410
mov eax, dword [0x101d366c]
push 0x101d3664
mov dword [0x101d3668], eax
call fcn.100d14eb
add esp, 4
mov eax, dword [0x101d3668]
cmp dword [edi + eax], 0
jne 0x100bd51f
mov eax, dword [0x101d3674]
cmp eax, dword [esi + 4]
jle 0x100bd459
push 0x101d3674
call fcn.100d1535
add esp, 4
cmp dword [0x101d3674], 0xffffffff
jne 0x100bd459
mov eax, dword [0x101d3670]
push 0x101d3674
mov dword [0x101d3660], eax
call fcn.100d14eb
add esp, 4
mov eax, dword [0x101d3660]
cmp dword [eax + edi], 0
jle 0x100bd51f
mov edi, dword [esp + 0xc]
cmp edi, dword [0x101cb758]
je 0x100bd513
mov ecx, dword [0x101d39a0]
cmp ecx, dword [esi + 4]
jle 0x100bd4bb
push 0x101d39a0
call fcn.100d1535
mov ecx, dword [0x101d39a0]
add esp, 4
cmp ecx, 0xffffffff
jne 0x100bd4bb
mov eax, dword [0x101d3888]
push 0x101d39a0
mov dword [0x101d3990], eax
call fcn.100d14eb
mov ecx, dword [0x101d39a0]
add esp, 4
mov eax, dword [0x101d3990]
mov edi, dword [eax + edi]
mov eax, dword [0x101cb758]
mov dword [esp + 0x14], eax
cmp ecx, dword [esi + 4]
jle 0x100bd501
push 0x101d39a0
call fcn.100d1535
add esp, 4
cmp dword [0x101d39a0], 0xffffffff
jne 0x100bd501
mov eax, dword [0x101d3888]
push 0x101d39a0
mov dword [0x101d3990], eax
call fcn.100d14eb
add esp, 4
mov eax, dword [0x101d3990]
mov ecx, dword [esp + 0x14]
cmp edi, dword [eax + ecx]
jne 0x100bd62e
mov ecx, dword [esp + 0x10]
mov byte [ecx], 0
jmp 0x100becd9
mov eax, dword [0x101cbe24]
mov edi, dword [0x101cb758]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x14], eax
mov eax, dword [0x101d37fc]
cmp eax, dword [esi + 4]
jle 0x100bd56d
push 0x101d37fc
call fcn.100d1535
add esp, 4
cmp dword [0x101d37fc], 0xffffffff
jne 0x100bd56d
mov eax, dword [0x101d37c8]
push 0x101d37fc
mov dword [0x101d3778], eax
call fcn.100d14eb
add esp, 4
mov eax, dword [0x101d3778]
mov ecx, dword [0x101cbe24]
push dword [edi + eax]
call dword [esp + 0x18]
mov edi, dword [esp + 0xc]
test eax, eax
je 0x100bd58b
cmp edi, eax
je 0x100bd513
mov ecx, dword [0x101d39a0]
cmp ecx, dword [esi + 4]
jle 0x100bd5ce
push 0x101d39a0
call fcn.100d1535
mov ecx, dword [0x101d39a0]
add esp, 4
cmp ecx, 0xffffffff
jne 0x100bd5ce
mov eax, dword [0x101d3888]
push 0x101d39a0
mov dword [0x101d3990], eax
call fcn.100d14eb
mov ecx, dword [0x101d39a0]
add esp, 4
mov eax, dword [0x101d3990]
mov edi, dword [eax + edi]
mov eax, dword [0x101cb758]
mov dword [esp + 0x14], eax
cmp ecx, dword [esi + 4]
jle 0x100bd614
push 0x101d39a0
call fcn.100d1535
add esp, 4
cmp dword [0x101d39a0], 0xffffffff
jne 0x100bd614
mov eax, dword [0x101d3888]
push 0x101d39a0
mov dword [0x101d3990], eax
call fcn.100d14eb
add esp, 4
mov eax, dword [0x101d3990]
mov ecx, dword [esp + 0x14]
cmp edi, dword [ecx + eax]
jne 0x100bd62e
mov ecx, dword [esp + 0x10]
mov byte [ecx], 0
jmp 0x100becd9
mov edi, dword [esp + 0x24]
mov ecx, edi
mov eax, dword [edi]
mov eax, dword [eax + 0x24]
call eax
test al, al
je 0x100bd7ff
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x101cbe28]
mov edi, eax
mov eax, dword [esp + 0x20]
shl edi, 5
movss xmm0, dword [ecx]
subss xmm0, dword [edi + eax + 0x50d830]
mov eax, dword [0x101d3be4]
andps xmm0, xmmword [0x10150ab0]
comiss xmm0, dword [0x10150324]
setbe byte [esp + 0x37]
cmp eax, dword [esi + 4]
jle 0x100bd6b5
push 0x101d3be4
call fcn.100d1535
add esp, 4
cmp dword [0x101d3be4], 0xffffffff
jne 0x100bd6b5
mov eax, dword [0x101d381c]
push 0x101d3be4
mov dword [0x101d3bd4], eax
call fcn.100d14eb
add esp, 4
mov eax, dword [0x101d3bd4]
mov ecx, dword [esp + 0xc]
mov byte [eax + ecx], 1
mov eax, dword [esp + 0x20]
mov eax, dword [edi + eax + 0x50d82c]
mov dword [esp + 0x14], eax
mov eax, dword [0x101d36b4]
cmp eax, dword [esi + 4]
jle 0x100bd70b
push 0x101d36b4
call fcn.100d1535
add esp, 4
cmp dword [0x101d36b4], 0xffffffff
jne 0x100bd70b
mov eax, dword [0x101d36a4]
push 0x101d36b4
mov dword [0x101d368c], eax
call fcn.100d14eb
add esp, 4
mov eax, dword [0x101d368c]
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov dword [eax + edx], ecx
mov ecx, edx
mov eax, dword [esp + 0x20]
add eax, 0x50d834
add eax, edi
push eax
call dword [0x101cbfa4]
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov al, byte [esp + 0x37]
mov byte [edi + 1], al
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
cmp byte [edi + 1], 0
movq xmm0, qword [eax]
movq qword [edi + 0xb0], xmm0
mov eax, dword [eax + 8]
movss xmm0, dword [edi + 0x10]
mov dword [edi + 0xb8], eax
mov eax, dword [0x101cbe28]
movss xmm2, dword [eax + 0x14]
je 0x100bd781
mulss xmm2, dword [0x101502e0]
movss xmm1, dword [0x10150208]
jmp 0x100bd78c
mulss xmm2, dword [0x101502fc]
xorps xmm1, xmm1
call fcn.100854d0
xorps xmm1, xmm1
movss dword [edi + 0x10], xmm0
comiss xmm1, xmm0
jb 0x100bdbe9
mov byte [edi], 0
mov eax, dword [0x101d36b4]
cmp eax, dword [esi + 4]
jle 0x100bd7df
push 0x101d36b4
call fcn.100d1535
add esp, 4
cmp dword [0x101d36b4], 0xffffffff
jne 0x100bd7df
mov eax, dword [0x101d36a4]
push 0x101d36b4
mov dword [0x101d368c], eax
call fcn.100d14eb
add esp, 4
mov eax, dword [0x101d368c]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x28]
mov dword [eax + ecx], edx
lea eax, [esp + 0x4c]
push eax
call dword [0x101cbfa4]
jmp 0x100becd9
mov edi, dword [esp + 0x10]
mov eax, dword [0x101cbe28]
movss xmm1, dword [0x10150270]
movss xmm0, dword [edi + 0x10]
mov byte [edi + 1], 0
movss xmm2, dword [eax + 0x14]
mulss xmm2, dword [0x101502f0]
call fcn.100854d0
movss dword [edi + 0x10], xmm0
mov eax, dword [0x101d3674]
cmp eax, dword [esi + 4]
jle 0x100bd86a
push 0x101d3674
call fcn.100d1535
add esp, 4
cmp dword [0x101d3674], 0xffffffff
jne 0x100bd86a
mov eax, dword [0x101d3670]
push 0x101d3674
mov dword [0x101d3660], eax
call fcn.100d14eb
add esp, 4
mov eax, dword [0x101d3660]
lea ecx, [esp + 0x70]
mov esi, dword [esp + 0xc]
push 0
push 0x101494b5
mov dword [esp + 0x78], 0
mov eax, dword [eax + esi]
mov dword [edi + 0x24], eax
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0xf
call fcn.10044d60
push 0x90
lea eax, [esp + 0xec]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [esp + 0x178], 0
xorps xmm0, xmm0
mov dword [esp + 0x19c], 0
lea eax, [esp + 0x1a4]
mov dword [esp + 0x1a0], 0
movups xmmword [esp + 0x17c], xmm0
push 0x80
push 0
push eax
movups xmmword [esp + 0x198], xmm0
call sub.VCRUNTIME140.dll_memset
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
add esp, 0xc
mov word [esp + 0x224], 0
xorps xmm0, xmm0
mov byte [esp + 0x238], 0
movups xmmword [esp + 0x228], xmm0
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x101cbe98]
lea esi, [esp + 0xe8]
push esi
push eax
mov edx, dword [ecx]
mov eax, dword [edx + 0x20]
call eax
cmp dword [esp + 0x80], 0
mov esi, dword [esp + 0xc]
je 0x100bd96d
or dword [esp + 0x1c], 1
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0x8c]
call fcn.10044700
jmp 0x100bd9c5
or dword [esp + 0x1c], 2
lea ecx, [esp + 0xf8]
mov dword [esp + 0xa0], 0
lea edx, [ecx + 1]
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0xf
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100bd9a0
sub ecx, edx
lea eax, [esp + 0xf8]
push ecx
push eax
lea ecx, [esp + 0xa8]
call fcn.10044d60
lea eax, [esp + 0xa0]
push eax
lea ecx, [esp + 0xbc]
call fcn.10044700
mov eax, dword [esp + 0x1c]
test al, 2
je 0x100bda21
mov edx, dword [esp + 0xb4]
and eax, 0xfffffffd
mov dword [esp + 0x1c], eax
cmp edx, 0x10
jb 0x100bda21
mov ecx, dword [esp + 0xa0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100bda13
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100bcdf7
push edx
push ecx
call fcn.100d195a
mov eax, dword [esp + 0x24]
add esp, 8
test al, 1
je 0x100bda86
mov edx, dword [esp + 0x9c]
and eax, 0xfffffffe
mov dword [esp + 0x1c], eax
cmp edx, 0x10
jb 0x100bda68
mov ecx, dword [esp + 0x88]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100bda5e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100bcdf7
push edx
push ecx
call fcn.100d195a
add esp, 8
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0xf
mov byte [esp + 0x88], 0
lea eax, [esp + 0xb8]
push eax
lea ecx, [edi + 0x2c]
call fcn.100445f0
mov edx, dword [esp + 0xcc]
cmp edx, 0x10
jb 0x100bdad2
mov ecx, dword [esp + 0xb8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100bdac8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100bcdf7
push edx
push ecx
call fcn.100d195a
add esp, 8
mov edx, dword [esp + 0x84]
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0xf
mov byte [esp + 0xb8], 0
cmp edx, 0x10
jb 0x100bdb29
mov ecx, dword [esp + 0x70]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100bdb1f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100bcdf7
push edx
push ecx
call fcn.100d195a
add esp, 8
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x101d36b4]
cmp eax, dword [ecx + 4]
jle 0x100bdb6e
push 0x101d36b4
call fcn.100d1535
add esp, 4
cmp dword [0x101d36b4], 0xffffffff
jne 0x100bdb6e
mov eax, dword [0x101d36a4]
push 0x101d36b4
mov dword [0x101d368c], eax
call fcn.100d14eb
add esp, 4
mov eax, dword [0x101d368c]
mov ecx, esi
mov eax, dword [eax + esi]
mov dword [edi + 0x28], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x28]
call eax
mov esi, dword [esp + 0x24]
mov ecx, esi
movq xmm0, qword [eax]
movq qword [edi + 0xbc], xmm0
mov eax, dword [eax + 8]
mov dword [edi + 0xc4], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x28]
call eax
movq xmm0, qword [edi + 0xbc]
mov edx, eax
mov eax, dword [esp + 0x20]
shl edx, 5
movq qword [edx + eax + 0x50d834], xmm0
mov ecx, dword [edi + 0xc4]
mov dword [edx + eax + 0x50d83c], ecx
mov ecx, dword [esp + 0x20]
mov eax, dword [edi + 0x28]
mov dword [edx + ecx + 0x50d82c], eax
mov eax, dword [0x101cbe28]
mov eax, dword [eax]
mov dword [edx + ecx + 0x50d830], eax
jmp 0x100bdbed
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x100be009
lea eax, [ecx - 0x14]
test eax, eax
je 0x100be009
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x24]
call eax
test al, al
je 0x100be009
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
mov esi, dword [ecx + eax*4]
mov ecx, dword [0x101d39a0]
cmp ecx, dword [esi + 4]
jle 0x100bdc63
push 0x101d39a0
call fcn.100d1535
mov ecx, dword [0x101d39a0]
add esp, 4
cmp ecx, 0xffffffff
jne 0x100bdc63
mov eax, dword [0x101d3888]
push 0x101d39a0
mov dword [0x101d3990], eax
call fcn.100d14eb
mov ecx, dword [0x101d39a0]
add esp, 4
mov eax, dword [0x101d3990]
mov edx, dword [esp + 0xc]
mov edi, dword [eax + edx]
mov eax, dword [0x101cb758]
mov dword [esp + 0x14], eax
cmp ecx, dword [esi + 4]
jle 0x100bdcad
push 0x101d39a0
call fcn.100d1535
add esp, 4
cmp dword [0x101d39a0], 0xffffffff
jne 0x100bdcad
mov eax, dword [0x101d3888]
push 0x101d39a0
mov dword [0x101d3990], eax
call fcn.100d14eb
add esp, 4
mov eax, dword [0x101d3990]
mov ecx, dword [esp + 0x14]
cmp edi, dword [ecx + eax]
je 0x100be009
mov eax, dword [0x101d3be4]
cmp eax, dword [esi + 4]
jle 0x100bdcf9
push 0x101d3be4
call fcn.100d1535
add esp, 4
cmp dword [0x101d3be4], 0xffffffff
jne 0x100bdcf9
mov eax, dword [0x101d381c]
push 0x101d3be4
mov dword [0x101d3bd4], eax
call fcn.100d14eb
add esp, 4
mov eax, dword [0x101d3bd4]
mov edi, dword [esp + 0xc]
cmp byte [eax + edi], 0
je 0x100be00d
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [esp + 0x3c]
imul eax, eax, 0x174
mov eax, dword [eax + ecx + 0x188]
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x24], eax
lea ecx, [edi + 8]
mov eax, dword [edi + 8]
mov eax, dword [eax + 0x28]
call eax
mov edx, dword [esp + 0x3c]
imul eax, eax, 0x174
add edx, 0x18c
mov dword [esp + 0x70], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0xf
add edx, eax
mov ecx, edx
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100bdd70
sub ecx, esi
push ecx
push edx
lea ecx, [esp + 0x78]
call fcn.10044d60
push 0x90
lea eax, [esp + 0xec]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [esp + 0x178], 0
xorps xmm0, xmm0
mov dword [esp + 0x19c], 0
lea eax, [esp + 0x1a4]
mov dword [esp + 0x1a0], 0
movups xmmword [esp + 0x17c], xmm0
push 0x80
push 0
push eax
movups xmmword [esp + 0x198], xmm0
call sub.VCRUNTIME140.dll_memset
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
add esp, 0xc
mov word [esp + 0x224], 0
xorps xmm0, xmm0
mov byte [esp + 0x238], 0
movups xmmword [esp + 0x228], xmm0
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x101cbe98]
lea esi, [esp + 0xe8]
push esi
push eax
mov edx, dword [ecx]
mov eax, dword [edx + 0x20]
call eax
cmp dword [esp + 0x80], 0
je 0x100bde46
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0x8c]
call fcn.10044700
mov ecx, 4
jmp 0x100bde9b
lea ecx, [esp + 0xf8]
mov dword [esp + 0xb8], 0
mov dword [esp + 0xc8], 0
lea edx, [ecx + 1]
mov dword [esp + 0xcc], 0xf
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100bde71
sub ecx, edx
lea eax, [esp + 0xf8]
push ecx
push eax
lea ecx, [esp + 0xc0]
call fcn.10044d60
lea eax, [esp + 0xb8]
mov ecx, 8
or dword [esp + 0x1c], ecx
lea ecx, [esp + 0xa0]
push eax
call fcn.10044700
mov eax, dword [esp + 0x1c]
test al, 8
je 0x100bdefb
mov edx, dword [esp + 0xcc]
and eax, 0xfffffff7
mov dword [esp + 0x1c], eax
cmp edx, 0x10
jb 0x100bdefb
mov ecx, dword [esp + 0xb8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100bdeed
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100bcdf7
push edx
push ecx
call fcn.100d195a
mov eax, dword [esp + 0x24]
add esp, 8
test al, 4
je 0x100bdf60
mov edx, dword [esp + 0x9c]
and eax, 0xfffffffb
mov dword [esp + 0x1c], eax
cmp edx, 0x10
jb 0x100bdf42
mov ecx, dword [esp + 0x88]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100bdf38
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100bcdf7
push edx
push ecx
call fcn.100d195a
add esp, 8
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0xf
mov byte [esp + 0x88], 0
mov esi, dword [esp + 0x10]
lea eax, [esp + 0xa0]
push eax
lea ecx, [esi + 0x2c]
call fcn.100445f0
mov edx, dword [esp + 0xb4]
cmp edx, 0x10
jb 0x100bdfb0
mov ecx, dword [esp + 0xa0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100bdfa6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100bcdf7
push edx
push ecx
call fcn.100d195a
add esp, 8
mov edx, dword [esp + 0x84]
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0xf
mov byte [esp + 0xa0], 0
cmp edx, 0x10
jb 0x100be011
mov ecx, dword [esp + 0x70]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100bdffd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100bcdf7
push edx
push ecx
call fcn.100d195a
add esp, 8
jmp 0x100be011
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
cmp dword [esi + 0x24], 0
jne 0x100be090
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov eax, dword [eax + 0x24]
call eax
test al, al
je 0x100becd9
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov byte [esi], 0
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x101d36b4]
cmp eax, dword [ecx + 4]
jle 0x100be072
push 0x101d36b4
call fcn.100d1535
add esp, 4
cmp dword [0x101d36b4], 0xffffffff
jne 0x100be072
mov eax, dword [0x101d36a4]
push 0x101d36b4
mov dword [0x101d368c], eax
call fcn.100d14eb
add esp, 4
mov eax, dword [0x101d368c]
mov ecx, edi
mov edx, dword [esp + 0x28]
mov dword [eax + edi], edx
lea eax, [esp + 0x4c]
push eax
call dword [0x101cbfa4]
jmp 0x100becd9
lea eax, [esp + 0x70]
mov byte [esi], 1
push eax
mov ecx, edi
call fcn.100bc050
add esp, 4
mov ecx, edi
movups xmm0, xmmword [eax]
mov eax, dword [eax + 0x10]
movups xmmword [esi + 0x78], xmm0
mov dword [esi + 0x88], eax
mov eax, dword [edi]
mov eax, dword [eax + 0x28]
call eax
lea ecx, [edi + 8]
movq xmm0, qword [eax]
movq qword [esi + 0xa4], xmm0
mov eax, dword [eax + 8]
mov dword [esi + 0xac], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x24]
cmp eax, 0x64
jle 0x100be0ec
mov eax, 0x64
jmp 0x100be0f3
xor ecx, ecx
test eax, eax
cmovs eax, ecx
mov ecx, dword [esp + 0x30]
movd xmm0, eax
mov eax, dword [esp + 0x2c]
cvtdq2ps xmm0, xmm0
mov edi, dword [ecx + eax*4]
movss dword [esi + 0xc], xmm0
mov eax, dword [0x101d3f08]
cmp eax, dword [edi + 4]
jle 0x100be144
push 0x101d3f08
call fcn.100d1535
add esp, 4
cmp dword [0x101d3f08], 0xffffffff
jne 0x100be144
mov eax, dword [0x101d3904]
push 0x101d3f08
mov dword [0x101d3f0c], eax
call fcn.100d14eb
add esp, 4
mov eax, dword [0x101d3f0c]
mov ecx, dword [esp + 0xc]
mov al, byte [eax + ecx]
mov byte [esi + 0x8c], al
mov eax, dword [0x101d3a8c]
cmp eax, dword [edi + 4]
jle 0x100be194
push 0x101d3a8c
call fcn.100d1535
add esp, 4
cmp dword [0x101d3a8c], 0xffffffff
jne 0x100be190
mov eax, dword [0x101d3914]
push 0x101d3a8c
mov dword [0x101d3a94], eax
call fcn.100d14eb
add esp, 4
mov ecx, dword [esp + 0xc]
mov eax, dword [0x101d3a94]
mov eax, dword [eax + ecx]
mov dword [esi + 0x98], eax
cmp byte [esi + 1], 0
jne 0x100becd9
mov eax, dword [0x101d36b0]
cmp eax, dword [edi + 4]
jle 0x100be1ea
push 0x101d36b0
call fcn.100d1535
add esp, 4
cmp dword [0x101d36b0], 0xffffffff
jne 0x100be1e6
mov eax, dword [0x101d36a0]
push 0x101d36b0
mov dword [0x101d3680], eax
call fcn.100d14eb
add esp, 4
mov ecx, dword [esp + 0xc]
mov eax, dword [0x101d3680]
mov al, byte [eax + ecx]
mov byte [esi + 0x8d], al
mov eax, dword [esp + 0xc]
mov esi, dword [eax + 0x3874]
test esi, esi
je 0x100be2df
movss xmm0, dword [esi + 0xa4]
ucomiss xmm0, dword [0x10150124]
lahf
test ah, 0x44
jnp 0x100be2df
mov eax, dword [0x101d36b4]
cmp eax, dword [edi + 4]
jle 0x100be25d
push 0x101d36b4
call fcn.100d1535
add esp, 4
cmp dword [0x101d36b4], 0xffffffff
jne 0x100be25d
mov eax, dword [0x101d36a4]
push 0x101d36b4
mov dword [0x101d368c], eax
call fcn.100d14eb
add esp, 4
mov eax, dword [0x101d368c]
mov ecx, dword [esp + 0xc]
test byte [eax + ecx], 1
je 0x100be2df
cmp byte [esi + 0x108], 0
je 0x100be2df
cmp byte [esi + 0x109], 0
jne 0x100be2df
movss xmm0, dword [esi + 0xa4]
movss xmm1, dword [0x10150260]
comiss xmm1, xmm0
jbe 0x100be2cf
comiss xmm0, dword [0x10150220]
jbe 0x100be2cf
mov edi, dword [esp + 0x10]
mov edx, dword [0x101cbe28]
mov eax, dword [edi + 0xa0]
mov ecx, dword [edi + 0x9c]
cmp eax, dword [edx + 0x1c]
je 0x100be2c7
inc ecx
mov dword [edi + 0x9c], ecx
mov eax, dword [edx + 0x1c]
mov dword [edi + 0xa0], eax
cmp ecx, 0x10
setge al
jmp 0x100be2e5
mov edi, dword [esp + 0x10]
mov dword [edi + 0x9c], 0
jmp 0x100be2e3
mov edi, dword [esp + 0x10]
xor al, al
mov ecx, dword [esp + 0x30]
mov byte [edi + 0x8f], al
mov eax, dword [esp + 0x2c]
mov esi, dword [ecx + eax*4]
mov eax, dword [0x101d3a20]
cmp eax, dword [esi + 4]
jle 0x100be330
push 0x101d3a20
call fcn.100d1535
add esp, 4
cmp dword [0x101d3a20], 0xffffffff
jne 0x100be330
mov eax, dword [0x101d3880]
push 0x101d3a20
mov dword [0x101d3a04], eax
call fcn.100d14eb
add esp, 4
mov eax, dword [0x101d3a04]
mov ecx, dword [esp + 0xc]
mov al, byte [eax + ecx]
mov byte [edi + 0x94], al
mov eax, dword [0x101d579c]
cmp eax, dword [esi + 4]
jle 0x100be37c
push 0x101d579c
call fcn.100d1535
add esp, 4
cmp dword [0x101d579c], 0xffffffff
jne 0x100be37c
mov eax, dword [0x101d3864]
push 0x101d579c
mov dword [0x101d57c4], eax
call fcn.100d14eb
add esp, 4
mov eax, dword [0x101d57c4]
mov esi, dword [esp + 0xc]
push 0x101d5950
mov al, byte [eax + esi]
mov byte [edi + 0x93], al
mov esi, dword [0x101d3548]
call dword [esp + 0x4c]
add esp, 4
test eax, eax
jne 0x100bcd63
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
imul ecx, eax, 0x3504
add ecx, esi
mov dword [esp + 0x40], ecx
je 0x100be47b
cmp dword [ecx + 0x3500], 0
je 0x100be47b
mov eax, dword [ecx + 0x3500]
lea edx, [ecx + 0x34f0]
mov esi, dword [ecx + 0x34fc]
add eax, esi
mov dword [esp + 0x14], eax
test edx, edx
je 0x100be3fc
mov edx, dword [edx]
mov dword [esp + 0x28], edx
test edx, edx
je 0x100be404
mov edi, dword [edx]
jmp 0x100be406
mov dword [esp + 0x28], 0
xor edi, edi
cmp esi, eax
je 0x100be430
nop word [eax + eax]
mov ecx, dword [edi + 8]
mov eax, dword [edi + 4]
dec ecx
and ecx, esi
mov ecx, dword [eax + ecx*4]
call fcn.1009e9e0
test al, al
jne 0x100be42c
inc esi
cmp esi, dword [esp + 0x14]
jne 0x100be410
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx + 0x34fc]
add eax, dword [ecx + 0x3500]
cmp esi, eax
je 0x100be46c
mov eax, dword [esp + 0x28]
test eax, eax
je 0x100be44c
mov eax, dword [eax]
jmp 0x100be44e
xor eax, eax
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
dec ecx
and ecx, esi
push 0x101d5950
mov esi, dword [eax + ecx*4]
call dword [esp + 0x3c]
mov edi, dword [esp + 0x14]
add esp, 4
jmp 0x100be489
push 0x101d5950
call dword [esp + 0x3c]
mov edi, dword [esp + 0x14]
jmp 0x100be484
push 0x101d5950
call dword [esp + 0x3c]
add esp, 4
xor esi, esi
mov ecx, dword [esp + 0x30]
test esi, esi
sete al
mov byte [edi + 0x90], al
mov eax, dword [esp + 0x2c]
mov dword [edi + 0x18], 0x3f8ccccd
mov esi, dword [ecx + eax*4]
mov eax, dword [0x101d3bd0]
cmp eax, dword [esi + 4]
jle 0x100be4e3
push 0x101d3bd0
call fcn.100d1535
add esp, 4
cmp dword [0x101d3bd0], 0xffffffff
jne 0x100be4e3
mov eax, dword [0x101d37b4]
add eax, 4
push 0x101d3bd0
mov dword [0x101d3efc], eax
call fcn.100d14eb
add esp, 4
mov eax, dword [0x101d3efc]
mov ecx, dword [esp + 0xc]
movss xmm0, dword [eax + ecx]
mov eax, dword [0x101cbe28]
addss xmm0, dword [eax + 0x20]
mov eax, dword [0x101d37e0]
movss dword [esp + 0x14], xmm0
cmp eax, dword [esi + 4]
jle 0x100be53b
push 0x101d37e0
call fcn.100d1535
add esp, 4
cmp dword [0x101d37e0], 0xffffffff
jne 0x100be53b
mov eax, dword [0x101d37b4]
push 0x101d37e0
mov dword [0x101d3800], eax
call fcn.100d14eb
add esp, 4
mov eax, dword [0x101d3bd0]
cmp eax, dword [esi + 4]
jle 0x100be578
push 0x101d3bd0
call fcn.100d1535
add esp, 4
cmp dword [0x101d3bd0], 0xffffffff
jne 0x100be578
mov eax, dword [0x101d37b4]
add eax, 4
push 0x101d3bd0
mov dword [0x101d3efc], eax
call fcn.100d14eb
add esp, 4
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
lea eax, [eax + eax*2]
movss xmm3, dword [eax*4 + 0x101d3be8]
subss xmm3, dword [esp + 0x14]
mov eax, dword [0x101d3994]
movss dword [esp + 0x28], xmm3
cmp eax, dword [esi + 4]
jle 0x100be5db
push 0x101d3994
call fcn.100d1535
add esp, 4
cmp dword [0x101d3994], 0xffffffff
jne 0x100be5d5
mov eax, dword [0x101d3834]
push 0x101d3994
mov dword [0x101d3984], eax
call fcn.100d14eb
add esp, 4
movss xmm3, dword [esp + 0x28]
mov eax, dword [0x101d3984]
mov edx, dword [esp + 0xc]
movss xmm1, dword [eax + edx + 4]
movss xmm2, dword [eax + edx]
movss xmm0, dword [eax + edx + 8]
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
movss xmm0, dword [0x10150270]
comiss xmm2, xmm0
jbe 0x100be61a
xor al, al
jmp 0x100be620
comiss xmm3, xmm0
seta al
mov byte [edi + 0x1c], al
movss xmm0, dword [0x10150278]
subss xmm0, xmm3
mulss xmm0, dword [0x10150264]
movss dword [edi + 0x14], xmm0
mov edi, dword [edx + 0x2970]
cmp dword [edi + 0x68], 0
je 0x100be6ba
mov eax, dword [edi + 0x50]
lea ecx, [edx + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
mov ecx, dword [0x101cbe80]
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x78]
call edx
test eax, eax
je 0x100be6a8
push dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, eax
mov esi, dword [0x101cc3cc]
call esi
cmp eax, 0x3c7
jne 0x100be6a8
movss xmm0, dword [edi + 0x58]
ucomiss xmm0, dword [0x10150124]
lahf
test ah, 0x44
jnp 0x100be6a8
mov ecx, dword [esp + 0x10]
mov al, 1
mov edx, dword [esp + 0xc]
mov byte [ecx + 0x91], al
jmp 0x100be6be
mov ecx, dword [esp + 0x10]
xor al, al
mov edx, dword [esp + 0xc]
mov byte [ecx + 0x91], al
jmp 0x100be6be
mov ecx, dword [esp + 0x10]
mov eax, dword [0x101d3528]
mov eax, dword [eax + 0x656a8]
test eax, eax
je 0x100be6d5
cmp eax, edx
jne 0x100be6d5
mov al, 1
jmp 0x100be6d7
xor al, al
mov byte [ecx + 0x8e], al
mov eax, dword [0x101cbe24]
mov ecx, dword [esp + 0x30]
mov eax, dword [eax]
mov edi, dword [eax + 0x10]
mov eax, dword [esp + 0x2c]
mov esi, dword [ecx + eax*4]
mov eax, dword [0x101d37f8]
cmp eax, dword [esi + 4]
jle 0x100be72c
push 0x101d37f8
call fcn.100d1535
add esp, 4
cmp dword [0x101d37f8], 0xffffffff
jne 0x100be72c
mov eax, dword [0x101d37a4]
push 0x101d37f8
mov dword [0x101d3790], eax
call fcn.100d14eb
add esp, 4
mov eax, dword [0x101d3790]
mov ecx, dword [esp + 0xc]
push dword [eax + ecx]
mov ecx, dword [0x101cbe24]
call edi
mov edi, eax
test edi, edi
je 0x100beb7f
mov ecx, dword [0x101d36bc]
cmp ecx, dword [esi + 4]
jle 0x100be785
push 0x101d36bc
call fcn.100d1535
add esp, 4
cmp dword [0x101d36bc], 0xffffffff
jne 0x100be785
mov eax, dword [0x101d36c8]
push 0x101d36bc
mov dword [0x101d36c4], eax
call fcn.100d14eb
add esp, 4
mov eax, dword [0x101d36c4]
movsx eax, word [eax + edi]
cmp eax, 0x1f4
jg 0x100be9b7
je 0x100be9b0
dec eax
cmp eax, 0x51
ja case.0x100be9c1.510
movzx eax, byte [eax + 0x100bede8]
jmp dword [eax*4 + 0x100bed14]
mov ecx, 0x1014ffd4
jmp 0x100bea0c
mov ecx, 0x1014ffe8
jmp 0x100bea0c
mov ecx, 0x1014ffe4
jmp 0x100bea0c
mov ecx, 0x1014ffe0
jmp 0x100bea0c
mov ecx, 0x1014ffdc
jmp 0x100bea0c
mov ecx, 0x1014fff8
jmp 0x100bea0c
mov ecx, 0x1014fff4
jmp 0x100bea0c
mov ecx, 0x1014fff0
jmp 0x100bea0c
mov ecx, 0x1014ffec
jmp 0x100bea0c
mov ecx, 0x10150008
jmp 0x100bea0c
mov ecx, 0x10150004
jmp 0x100bea0c
mov ecx, 0x10150000
jmp 0x100bea0c
mov ecx, 0x1014fffc
jmp 0x100bea0c
mov ecx, 0x10150018
jmp 0x100bea0c
mov ecx, 0x10150014
jmp 0x100bea0c
mov ecx, 0x10150010
jmp 0x100bea0c
mov ecx, 0x1015000c
jmp 0x100bea0c
mov ecx, 0x10150028
jmp 0x100bea0c
mov ecx, 0x10150024
jmp 0x100bea0c
mov ecx, 0x10150020
jmp 0x100bea0c
mov ecx, 0x1015001c
jmp 0x100bea0c
mov ecx, 0x10150038
jmp 0x100bea0c
mov ecx, 0x10150034
jmp 0x100bea0c
mov ecx, 0x10150030
jmp 0x100bea0c
mov ecx, 0x1015002c
jmp 0x100bea0c
mov ecx, 0x10150048
jmp 0x100bea0c
mov ecx, 0x10150044
jmp 0x100bea0c
mov ecx, 0x10150040
jmp 0x100bea0c
mov ecx, 0x1015003c
jmp 0x100bea0c
mov ecx, 0x10150058
jmp 0x100bea0c
mov ecx, 0x10150054
jmp 0x100bea0c
mov ecx, 0x10150050
jmp 0x100bea0c
mov ecx, 0x1015004c
jmp 0x100bea0c
mov ecx, 0x10150068
jmp 0x100bea0c
mov ecx, 0x10150064
jmp 0x100bea0c
mov ecx, 0x10150060
jmp 0x100bea0c
mov ecx, 0x1015005c
jmp 0x100bea0c
mov ecx, 0x10150078
jmp 0x100bea0c
mov ecx, 0x10150074
jmp 0x100bea0c
mov ecx, 0x10150070
jmp 0x100bea0c
mov ecx, 0x1015006c
jmp 0x100bea0c
mov ecx, 0x10150088
jmp 0x100bea0c
mov ecx, 0x10150084
jmp 0x100bea0c
mov ecx, 0x10150080
jmp 0x100bea0c
mov ecx, 0x1015007c
jmp 0x100bea0c
mov ecx, 0x10150098
jmp 0x100bea0c
mov ecx, 0x10150094
jmp 0x100bea0c
mov ecx, 0x10150090
jmp 0x100bea0c
mov ecx, 0x1015008c
jmp 0x100bea0c
mov ecx, 0x101500a8
jmp 0x100bea0c
mov ecx, 0x101500a4
jmp 0x100bea0c
mov ecx, 0x101500a0
jmp 0x100bea0c
mov ecx, 0x1015009c
jmp 0x100bea0c
sub eax, 0x1f9
cmp eax, 0xb
ja case.0x100be9c1.510
jmp dword [eax*4 + 0x100bee3c]
mov ecx, 0x101500b8
jmp 0x100bea0c
mov ecx, 0x101500b4
jmp 0x100bea0c
mov ecx, 0x101500b0
jmp 0x100bea0c
mov ecx, 0x101500ac
jmp 0x100bea0c
mov ecx, 0x101500c8
jmp 0x100bea0c
mov ecx, 0x101500c4
jmp 0x100bea0c
mov ecx, 0x101500c0
jmp 0x100bea0c
mov ecx, 0x101500bc
jmp 0x100bea0c
mov ecx, 0x101500d0
jmp 0x100bea0c
mov ecx, 0x101500cc
mov edx, ecx
lea esi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x100bea11
sub edx, esi
mov esi, dword [esp + 0x10]
push edx
push ecx
lea ecx, [esi + 0x44]
call fcn.10044d60
lea eax, [esp + 0x88]
mov ecx, edi
push eax
call fcn.100baa60
push eax
lea ecx, [esi + 0x5c]
call fcn.100445f0
mov edx, dword [esp + 0x9c]
cmp edx, 0x10
jb 0x100bea7c
mov ecx, dword [esp + 0x88]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100bea72
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100bcdf7
push edx
push ecx
call fcn.100d195a
add esp, 8
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x6f8]
call eax
mov esi, eax
test esi, esi
jne 0x100bea92
xor al, al
jmp 0x100beafd
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x101d36bc]
cmp eax, dword [ecx + 4]
jle 0x100bead7
push 0x101d36bc
call fcn.100d1535
add esp, 4
cmp dword [0x101d36bc], 0xffffffff
jne 0x100bead7
mov eax, dword [0x101d36c8]
push 0x101d36bc
mov dword [0x101d36c4], eax
call fcn.100d14eb
add esp, 4
mov eax, dword [0x101d36c4]
mov ecx, dword [esi + 0xc8]
cmp word [eax + edi], 0x1f
je 0x100beafb
test ecx, ecx
je 0x100beafb
cmp ecx, 7
jl 0x100beaf7
cmp ecx, 0x10
jle 0x100beafb
xor al, al
jmp 0x100beafd
mov al, 1
mov ecx, dword [esp + 0x10]
mov byte [ecx + 2], al
mov ecx, edi
mov eax, dword [edi]
mov eax, dword [eax + 0x6f8]
call eax
mov esi, eax
test esi, esi
je 0x100beb7f
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
mov edx, dword [ecx + eax*4]
mov ecx, dword [0x101d39e8]
cmp ecx, dword [edx + 4]
jle 0x100beb5c
push 0x101d39e8
call fcn.100d1535
add esp, 4
cmp dword [0x101d39e8], 0xffffffff
jne 0x100beb5c
mov eax, dword [0x101d38cc]
push 0x101d39e8
mov dword [0x101d39d8], eax
call fcn.100d14eb
add esp, 4
mov eax, dword [0x101d39d8]
movd xmm0, dword [eax + edi]
mov eax, dword [esp + 0x10]
cvtdq2ps xmm0, xmm0
movss dword [eax + 4], xmm0
movd xmm0, dword [esi + 0x14]
cvtdq2ps xmm0, xmm0
movss dword [eax + 8], xmm0
mov edi, dword [esp + 0xc]
mov eax, dword [edi + 4]
lea ecx, [edi + 4]
mov eax, dword [eax + 0x20]
call eax
mov ecx, dword [0x101cbe80]
push eax
mov edx, dword [ecx]
mov eax, dword [edx + 0x78]
call eax
mov esi, eax
mov dword [esp + 0x24], esi
test esi, esi
je 0x100becd9
mov edx, dword [edi + 0x2900]
xor edi, edi
mov ecx, dword [esi + 0x9c]
mov dword [esp + 0x14], edx
test ecx, ecx
jle 0x100becd9
mov eax, dword [esp + 0x10]
add eax, 0x4cc
mov dword [esp + 0xc], edi
add edx, 0x1c
mov dword [esp + 0x10], eax
mov dword [esp + 0x28], edx
nop dword [eax]
mov eax, ecx
cmp edi, ecx
jg 0x100becac
mov esi, dword [esi + 0xa0]
add esi, dword [esp + 0xc]
add esi, dword [esp + 0x24]
je 0x100beca8
test dword [esi + 0xa0], 0x100
je 0x100beca8
cmp dword [esi + 4], 0xffffffff
je 0x100beca8
movss xmm0, dword [edx - 0x10]
mov eax, dword [esp + 0x10]
mov ecx, dword [0x101d34e4]
add eax, 0xfffffc00
movss dword [esp + 0x58], xmm0
movss xmm0, dword [edx]
push 1
push eax
movss dword [esp + 0x64], xmm0
lea eax, [esp + 0x60]
movss xmm0, dword [edx + 0x10]
push eax
movss dword [esp + 0x6c], xmm0
call fcn.1005eba0
mov eax, dword [esi + 4]
mov ecx, dword [0x101d34e4]
push 1
push dword [esp + 0x14]
lea eax, [eax + eax*2]
shl eax, 4
add eax, dword [esp + 0x1c]
movss xmm0, dword [eax + 0xc]
movss dword [esp + 0x6c], xmm0
movss xmm0, dword [eax + 0x1c]
movss dword [esp + 0x70], xmm0
movss xmm0, dword [eax + 0x2c]
lea eax, [esp + 0x6c]
push eax
movss dword [esp + 0x78], xmm0
call fcn.1005eba0
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov eax, dword [esi + 0x9c]
jmp 0x100becac
mov esi, dword [esp + 0x24]
add dword [esp + 0xc], 0xd8
inc edi
add dword [esp + 0x10], 8
add edx, 0x30
mov dword [esp + 0x28], edx
mov ecx, eax
cmp edi, eax
jl 0x100bebe0
jmp 0x100becd9
mov byte [edi], 0
jmp 0x100becd9
mov eax, dword [esp + 0x10]
mov byte [eax], 0
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x44]
add esi, 0xc
mov dword [esp + 0x44], esi
cmp esi, eax
jne 0x100bce52
mov eax, dword [esp + 0x38]
push 0x101d58ec
call eax
mov ecx, dword [esp + 0x248]
add esp, 4
pop edi
pop esi
xor ecx, esp
call fcn.100d1418
mov esp, ebp
pop ebp
ret