Function at 0x100bdbb0
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, 0x238
mov eax, dword [0x10155368]
xor eax, esp
mov dword [esp + 0x234], eax
push esi
xor eax, eax
mov esi, ecx
push edi
push 0x101d5c44
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], eax
call dword [sym.imp.MSVCP140.dll__Mtx_lock]
add esp, 4
test eax, eax
je 0x100bdbf5
push eax
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
mov ecx, esi
call fcn.100bd560
mov edi, dword [0x101d3868]
mov eax, dword [edi + 4]
cmp eax, dword [edi + 8]
je 0x100bfad0
mov esi, dword [0x101cc270]
lea eax, [esp + 0xc8]
push eax
mov ecx, 0x101cb228
call fcn.100488f0
cmp dword [esp + 0xdc], 0x10
lea ecx, [esp + 0xc8]
mov eax, dword [0x101cc794]
cmovae ecx, dword [esp + 0xc8]
push ecx
mov ecx, dword [eax]
call esi
mov edx, dword [esp + 0xdc]
mov dword [esp + 0x38], eax
cmp edx, 0x10
jb 0x100bdc89
mov ecx, dword [esp + 0xc8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100bdc7f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100bdc7f
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100d273a
add esp, 8
mov esi, dword [edi + 4]
mov eax, dword [edi + 8]
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0xf
mov byte [esp + 0xc8], 0
mov dword [esp + 0x3c], esi
mov dword [esp + 0x18], eax
cmp esi, eax
je 0x100bfad0
mov eax, dword [0x101cc0d8]
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 0x100bfabd
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
mov dword [esp + 0x24], ecx
mov eax, dword [eax + 0x28]
call eax
imul edi, eax, 0xd38
add edi, dword [esp + 0x20]
mov dword [esp + 0x10], edi
cmp dword [edi + 0x80], esi
je 0x100bdd84
push 0
mov ecx, edi
call fcn.10086460
lea ecx, [esi + 8]
mov dword [edi + 0x80], esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [esp + 0x20]
shl eax, 5
mov dword [eax + ecx + 0x50db3c], 0
mov dword [eax + ecx + 0x50db48], 0
mov dword [eax + ecx + 0x50db44], 0
mov dword [eax + ecx + 0x50db40], 0
mov dword [eax + ecx + 0x50db54], 0
mov dword [eax + ecx + 0x50db50], 0
mov dword [eax + ecx + 0x50db4c], 0
mov dword [eax + ecx + 0x50db38], 0
jmp 0x100bfab9
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov esi, dword [ecx + eax*4]
mov eax, dword [0x101d3a14]
cmp eax, dword [esi + 4]
jle 0x100bddc9
push 0x101d3a14
call fcn.100d2315
add esp, 4
cmp dword [0x101d3a14], 0xffffffff
jne 0x100bddc9
mov eax, dword [0x101d3a04]
push 0x101d3a14
mov dword [0x101d39ec], eax
call fcn.100d22cb
add esp, 4
mov ecx, dword [esp + 0xc]
mov eax, dword [0x101d39ec]
mov eax, dword [eax + ecx]
mov dword [esp + 0x28], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x101d5b18]
movq xmm0, qword [eax]
movq qword [esp + 0x44], xmm0
mov eax, dword [eax + 8]
mov dword [esp + 0x4c], eax
cmp ecx, dword [esi + 4]
jle 0x100bde34
push 0x101d5b18
call fcn.100d2315
mov ecx, dword [0x101d5b18]
add esp, 4
cmp ecx, 0xffffffff
jne 0x100bde34
mov eax, dword [0x101d3c58]
push 0x101d5b18
mov dword [0x101d5af0], eax
call fcn.100d22cb
mov ecx, dword [0x101d5b18]
add esp, 4
mov eax, dword [0x101d5af0]
mov edx, dword [esp + 0xc]
cmp dword [eax + edx], 4
je 0x100bde8b
cmp ecx, dword [esi + 4]
jle 0x100bde78
push 0x101d5b18
call fcn.100d2315
add esp, 4
cmp dword [0x101d5b18], 0xffffffff
jne 0x100bde78
mov eax, dword [0x101d3c58]
push 0x101d5b18
mov dword [0x101d5af0], eax
call fcn.100d22cb
add esp, 4
mov eax, dword [0x101d5af0]
mov ecx, dword [esp + 0xc]
cmp dword [eax + ecx], 5
jne 0x100be1be
mov eax, dword [0x101cc114]
mov eax, dword [eax]
mov edi, dword [eax + 0x10]
mov eax, dword [0x101d3b60]
cmp eax, dword [esi + 4]
jle 0x100bdecf
push 0x101d3b60
call fcn.100d2315
add esp, 4
cmp dword [0x101d3b60], 0xffffffff
jne 0x100bdecf
mov eax, dword [0x101d3b2c]
push 0x101d3b60
mov dword [0x101d3ae4], eax
call fcn.100d22cb
add esp, 4
mov eax, dword [0x101d3ae4]
mov ecx, dword [esp + 0xc]
push dword [eax + ecx]
mov ecx, dword [0x101cc114]
call edi
mov edi, eax
test edi, edi
je 0x100bfab2
mov ecx, dword [0x101d39c4]
cmp ecx, dword [esi + 4]
jle 0x100bdf28
push 0x101d39c4
call fcn.100d2315
add esp, 4
cmp dword [0x101d39c4], 0xffffffff
jne 0x100bdf28
mov eax, dword [0x101d39cc]
push 0x101d39c4
mov dword [0x101d39c8], eax
call fcn.100d22cb
add esp, 4
mov eax, dword [0x101d39c8]
cmp dword [eax + edi], 0
jne 0x100bfab2
mov eax, dword [0x101d39d4]
cmp eax, dword [esi + 4]
jle 0x100bdf71
push 0x101d39d4
call fcn.100d2315
add esp, 4
cmp dword [0x101d39d4], 0xffffffff
jne 0x100bdf71
mov eax, dword [0x101d39d0]
push 0x101d39d4
mov dword [0x101d39c0], eax
call fcn.100d22cb
add esp, 4
mov eax, dword [0x101d39c0]
cmp dword [eax + edi], 0
jle 0x100bfab2
cmp edi, dword [0x101cba58]
je 0x100bfab9
mov ecx, dword [0x101d3a84]
cmp ecx, dword [esi + 4]
jle 0x100bdfcf
push 0x101d3a84
call fcn.100d2315
mov ecx, dword [0x101d3a84]
add esp, 4
cmp ecx, 0xffffffff
jne 0x100bdfcf
mov eax, dword [0x101d3a74]
push 0x101d3a84
mov dword [0x101d3a60], eax
call fcn.100d22cb
mov ecx, dword [0x101d3a84]
add esp, 4
mov eax, dword [0x101d3a60]
mov eax, dword [eax + edi]
mov dword [esp + 0x40], eax
mov eax, dword [0x101cba58]
mov dword [esp + 0x14], eax
cmp ecx, dword [esi + 4]
jle 0x100be019
push 0x101d3a84
call fcn.100d2315
add esp, 4
cmp dword [0x101d3a84], 0xffffffff
jne 0x100be019
mov eax, dword [0x101d3a74]
push 0x101d3a84
mov dword [0x101d3a60], eax
call fcn.100d22cb
add esp, 4
mov eax, dword [0x101d3a60]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x40]
cmp ecx, dword [eax + edx]
je 0x100bfab9
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x101d3ad8]
mov edi, eax
shl edi, 5
cmp ecx, dword [esi + 4]
jle 0x100be07a
push 0x101d3ad8
call fcn.100d2315
add esp, 4
cmp dword [0x101d3ad8], 0xffffffff
jne 0x100be07a
mov eax, dword [0x101d3ad0]
push 0x101d3ad8
mov dword [0x101d3ad4], eax
call fcn.100d22cb
add esp, 4
mov edx, dword [esp + 0x20]
mov eax, dword [0x101d3ad4]
mov ecx, dword [esp + 0xc]
movq xmm0, qword [eax + ecx]
movq qword [edi + edx + 0x50db4c], xmm0
mov eax, dword [eax + ecx + 8]
mov dword [edi + edx + 0x50db54], eax
movss xmm1, dword [edi + edx + 0x50db4c]
movss xmm2, dword [edi + edx + 0x50db50]
subss xmm2, dword [edi + edx + 0x50db44]
subss xmm1, dword [edi + edx + 0x50db40]
movss xmm0, dword [edi + edx + 0x50db54]
subss xmm0, dword [edi + edx + 0x50db48]
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
movss xmm0, dword [0x101504e8]
comiss xmm0, xmm2
jbe 0x100be1ac
mov eax, dword [0x101d3ad8]
cmp eax, dword [esi + 4]
jle 0x100be13d
push 0x101d3ad8
call fcn.100d2315
add esp, 4
cmp dword [0x101d3ad8], 0xffffffff
jne 0x100be135
mov eax, dword [0x101d3ad0]
push 0x101d3ad8
mov dword [0x101d3ad4], eax
call fcn.100d22cb
add esp, 4
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0xc]
mov eax, dword [0x101d3ad4]
movq xmm0, qword [eax + ecx]
movq qword [edi + edx + 0x50db40], xmm0
mov eax, dword [eax + ecx + 8]
mov dword [edi + edx + 0x50db48], eax
mov eax, dword [0x101d3a14]
cmp eax, dword [esi + 4]
jle 0x100be19d
push 0x101d3a14
call fcn.100d2315
add esp, 4
cmp dword [0x101d3a14], 0xffffffff
jne 0x100be195
mov eax, dword [0x101d3a04]
push 0x101d3a14
mov dword [0x101d39ec], eax
call fcn.100d22cb
add esp, 4
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0xc]
mov eax, dword [0x101d39ec]
mov eax, dword [eax + ecx]
mov dword [edi + edx + 0x50db38], eax
mov eax, dword [0x101cc118]
mov eax, dword [eax]
mov dword [edi + edx + 0x50db3c], eax
mov edi, dword [esp + 0x10]
mov eax, dword [0x101d39c4]
cmp eax, dword [esi + 4]
jle 0x100be1f8
push 0x101d39c4
call fcn.100d2315
add esp, 4
cmp dword [0x101d39c4], 0xffffffff
jne 0x100be1f8
mov eax, dword [0x101d39cc]
push 0x101d39c4
mov dword [0x101d39c8], eax
call fcn.100d22cb
add esp, 4
mov eax, dword [0x101d39c8]
mov ecx, dword [esp + 0xc]
cmp dword [eax + ecx], 0
jne 0x100bfaad
mov eax, dword [0x101d39d4]
cmp eax, dword [esi + 4]
jle 0x100be249
push 0x101d39d4
call fcn.100d2315
add esp, 4
cmp dword [0x101d39d4], 0xffffffff
jne 0x100be245
mov eax, dword [0x101d39d0]
push 0x101d39d4
mov dword [0x101d39c0], eax
call fcn.100d22cb
add esp, 4
mov ecx, dword [esp + 0xc]
mov eax, dword [0x101d39c0]
cmp dword [eax + ecx], 0
jle 0x100bfaad
mov eax, dword [0x101d39c4]
mov edi, dword [0x101cba58]
cmp eax, dword [esi + 4]
jle 0x100be298
push 0x101d39c4
call fcn.100d2315
add esp, 4
cmp dword [0x101d39c4], 0xffffffff
jne 0x100be298
mov eax, dword [0x101d39cc]
push 0x101d39c4
mov dword [0x101d39c8], eax
call fcn.100d22cb
add esp, 4
mov eax, dword [0x101d39c8]
cmp dword [edi + eax], 0
jne 0x100be3a7
mov eax, dword [0x101d39d4]
cmp eax, dword [esi + 4]
jle 0x100be2e1
push 0x101d39d4
call fcn.100d2315
add esp, 4
cmp dword [0x101d39d4], 0xffffffff
jne 0x100be2e1
mov eax, dword [0x101d39d0]
push 0x101d39d4
mov dword [0x101d39c0], eax
call fcn.100d22cb
add esp, 4
mov eax, dword [0x101d39c0]
cmp dword [eax + edi], 0
jle 0x100be3a7
mov edi, dword [esp + 0xc]
cmp edi, dword [0x101cba58]
je 0x100be39b
mov ecx, dword [0x101d3a84]
cmp ecx, dword [esi + 4]
jle 0x100be343
push 0x101d3a84
call fcn.100d2315
mov ecx, dword [0x101d3a84]
add esp, 4
cmp ecx, 0xffffffff
jne 0x100be343
mov eax, dword [0x101d3a74]
push 0x101d3a84
mov dword [0x101d3a60], eax
call fcn.100d22cb
mov ecx, dword [0x101d3a84]
add esp, 4
mov eax, dword [0x101d3a60]
mov edi, dword [eax + edi]
mov eax, dword [0x101cba58]
mov dword [esp + 0x14], eax
cmp ecx, dword [esi + 4]
jle 0x100be389
push 0x101d3a84
call fcn.100d2315
add esp, 4
cmp dword [0x101d3a84], 0xffffffff
jne 0x100be389
mov eax, dword [0x101d3a74]
push 0x101d3a84
mov dword [0x101d3a60], eax
call fcn.100d22cb
add esp, 4
mov eax, dword [0x101d3a60]
mov ecx, dword [esp + 0x14]
cmp edi, dword [eax + ecx]
jne 0x100be4b6
mov ecx, dword [esp + 0x10]
mov byte [ecx], 0
jmp 0x100bfab9
mov eax, dword [0x101cc114]
mov edi, dword [0x101cba58]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x14], eax
mov eax, dword [0x101d3b60]
cmp eax, dword [esi + 4]
jle 0x100be3f5
push 0x101d3b60
call fcn.100d2315
add esp, 4
cmp dword [0x101d3b60], 0xffffffff
jne 0x100be3f5
mov eax, dword [0x101d3b2c]
push 0x101d3b60
mov dword [0x101d3ae4], eax
call fcn.100d22cb
add esp, 4
mov eax, dword [0x101d3ae4]
mov ecx, dword [0x101cc114]
push dword [edi + eax]
call dword [esp + 0x18]
mov edi, dword [esp + 0xc]
test eax, eax
je 0x100be413
cmp edi, eax
je 0x100be39b
mov ecx, dword [0x101d3a84]
cmp ecx, dword [esi + 4]
jle 0x100be456
push 0x101d3a84
call fcn.100d2315
mov ecx, dword [0x101d3a84]
add esp, 4
cmp ecx, 0xffffffff
jne 0x100be456
mov eax, dword [0x101d3a74]
push 0x101d3a84
mov dword [0x101d3a60], eax
call fcn.100d22cb
mov ecx, dword [0x101d3a84]
add esp, 4
mov eax, dword [0x101d3a60]
mov edi, dword [eax + edi]
mov eax, dword [0x101cba58]
mov dword [esp + 0x14], eax
cmp ecx, dword [esi + 4]
jle 0x100be49c
push 0x101d3a84
call fcn.100d2315
add esp, 4
cmp dword [0x101d3a84], 0xffffffff
jne 0x100be49c
mov eax, dword [0x101d3a74]
push 0x101d3a84
mov dword [0x101d3a60], eax
call fcn.100d22cb
add esp, 4
mov eax, dword [0x101d3a60]
mov ecx, dword [esp + 0x14]
cmp edi, dword [ecx + eax]
jne 0x100be4b6
mov ecx, dword [esp + 0x10]
mov byte [ecx], 0
jmp 0x100bfab9
mov edi, dword [esp + 0x24]
mov ecx, edi
mov eax, dword [edi]
mov eax, dword [eax + 0x24]
call eax
test al, al
je 0x100be687
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x101cc118]
mov edi, eax
mov eax, dword [esp + 0x20]
shl edi, 5
movss xmm0, dword [ecx]
subss xmm0, dword [edi + eax + 0x50db3c]
mov eax, dword [0x101d3f3c]
andps xmm0, xmmword [0x10150aa0]
comiss xmm0, dword [0x10150324]
setbe byte [esp + 0x37]
cmp eax, dword [esi + 4]
jle 0x100be53d
push 0x101d3f3c
call fcn.100d2315
add esp, 4
cmp dword [0x101d3f3c], 0xffffffff
jne 0x100be53d
mov eax, dword [0x101d3b7c]
push 0x101d3f3c
mov dword [0x101d3f2c], eax
call fcn.100d22cb
add esp, 4
mov eax, dword [0x101d3f2c]
mov ecx, dword [esp + 0xc]
mov byte [eax + ecx], 1
mov eax, dword [esp + 0x20]
mov eax, dword [edi + eax + 0x50db38]
mov dword [esp + 0x14], eax
mov eax, dword [0x101d3a14]
cmp eax, dword [esi + 4]
jle 0x100be593
push 0x101d3a14
call fcn.100d2315
add esp, 4
cmp dword [0x101d3a14], 0xffffffff
jne 0x100be593
mov eax, dword [0x101d3a04]
push 0x101d3a14
mov dword [0x101d39ec], eax
call fcn.100d22cb
add esp, 4
mov eax, dword [0x101d39ec]
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, 0x50db40
add eax, edi
push eax
call dword [0x101cc2a0]
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 + 0xbc], xmm0
mov eax, dword [eax + 8]
movss xmm0, dword [edi + 0x10]
mov dword [edi + 0xc4], eax
mov eax, dword [0x101cc118]
movss xmm2, dword [eax + 0x14]
je 0x100be609
mulss xmm2, dword [0x101502e0]
movss xmm1, dword [0x10150210]
jmp 0x100be614
mulss xmm2, dword [0x101502fc]
xorps xmm1, xmm1
call fcn.10084ad0
xorps xmm1, xmm1
movss dword [edi + 0x10], xmm0
comiss xmm1, xmm0
jb 0x100bea68
mov byte [edi], 0
mov eax, dword [0x101d3a14]
cmp eax, dword [esi + 4]
jle 0x100be667
push 0x101d3a14
call fcn.100d2315
add esp, 4
cmp dword [0x101d3a14], 0xffffffff
jne 0x100be667
mov eax, dword [0x101d3a04]
push 0x101d3a14
mov dword [0x101d39ec], eax
call fcn.100d22cb
add esp, 4
mov eax, dword [0x101d39ec]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x28]
mov dword [eax + ecx], edx
lea eax, [esp + 0x44]
push eax
call dword [0x101cc2a0]
jmp 0x100bfab9
mov edi, dword [esp + 0x10]
mov eax, dword [0x101cc118]
movss xmm1, dword [0x10150278]
movss xmm0, dword [edi + 0x10]
mov byte [edi + 1], 0
movss xmm2, dword [eax + 0x14]
mulss xmm2, dword [0x101502f0]
call fcn.10084ad0
movss dword [edi + 0x10], xmm0
mov eax, dword [0x101d39d4]
cmp eax, dword [esi + 4]
jle 0x100be6f2
push 0x101d39d4
call fcn.100d2315
add esp, 4
cmp dword [0x101d39d4], 0xffffffff
jne 0x100be6f2
mov eax, dword [0x101d39d0]
push 0x101d39d4
mov dword [0x101d39c0], eax
call fcn.100d22cb
add esp, 4
mov eax, dword [0x101d39c0]
lea ecx, [esp + 0x68]
mov esi, dword [esp + 0xc]
push 0
push 0x101494b5
mov dword [esp + 0x70], 0
mov eax, dword [eax + esi]
mov dword [edi + 0x24], eax
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0xf
call fcn.10044cb0
push 0x90
lea eax, [esp + 0xe4]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [esp + 0x170], 0
xorps xmm0, xmm0
mov dword [esp + 0x194], 0
lea eax, [esp + 0x19c]
mov dword [esp + 0x198], 0
movups xmmword [esp + 0x174], xmm0
push 0x80
push 0
push eax
movups xmmword [esp + 0x190], xmm0
call sub.VCRUNTIME140.dll_memset
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
add esp, 0xc
mov word [esp + 0x21c], 0
xorps xmm0, xmm0
mov byte [esp + 0x230], 0
movups xmmword [esp + 0x220], xmm0
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x101cc18c]
lea esi, [esp + 0xe0]
push esi
push eax
mov edx, dword [ecx]
mov eax, dword [edx + 0x20]
call eax
cmp dword [esp + 0x78], 0
mov esi, dword [esp + 0xc]
je 0x100be7f2
or dword [esp + 0x1c], 1
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x84]
call fcn.10044650
jmp 0x100be847
or dword [esp + 0x1c], 2
lea ecx, [esp + 0xf0]
mov dword [esp + 0x98], 0
lea edx, [ecx + 1]
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0xf
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100be822
sub ecx, edx
lea eax, [esp + 0xf0]
push ecx
push eax
lea ecx, [esp + 0xa0]
call fcn.10044cb0
lea eax, [esp + 0x98]
push eax
lea ecx, [esp + 0xb4]
call fcn.10044650
mov eax, dword [esp + 0x1c]
test al, 2
je 0x100be8a3
mov edx, dword [esp + 0xac]
and eax, 0xfffffffd
mov dword [esp + 0x1c], eax
cmp edx, 0x10
jb 0x100be8a3
mov ecx, dword [esp + 0x98]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100be895
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100bdc79
push edx
push ecx
call fcn.100d273a
mov eax, dword [esp + 0x24]
add esp, 8
test al, 1
je 0x100be908
mov edx, dword [esp + 0x94]
and eax, 0xfffffffe
mov dword [esp + 0x1c], eax
cmp edx, 0x10
jb 0x100be8ea
mov ecx, dword [esp + 0x80]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100be8e0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100bdc79
push edx
push ecx
call fcn.100d273a
add esp, 8
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0xf
mov byte [esp + 0x80], 0
lea eax, [esp + 0xb0]
push eax
lea ecx, [edi + 0x38]
call fcn.10044540
mov edx, dword [esp + 0xc4]
cmp edx, 0x10
jb 0x100be954
mov ecx, dword [esp + 0xb0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100be94a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100bdc79
push edx
push ecx
call fcn.100d273a
add esp, 8
mov edx, dword [esp + 0x7c]
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0xf
mov byte [esp + 0xb0], 0
cmp edx, 0x10
jb 0x100be9a8
mov ecx, dword [esp + 0x68]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100be99e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100bdc79
push edx
push ecx
call fcn.100d273a
add esp, 8
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x101d3a14]
cmp eax, dword [ecx + 4]
jle 0x100be9ed
push 0x101d3a14
call fcn.100d2315
add esp, 4
cmp dword [0x101d3a14], 0xffffffff
jne 0x100be9ed
mov eax, dword [0x101d3a04]
push 0x101d3a14
mov dword [0x101d39ec], eax
call fcn.100d22cb
add esp, 4
mov eax, dword [0x101d39ec]
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 + 0xc8], xmm0
mov eax, dword [eax + 8]
mov dword [edi + 0xd0], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x28]
call eax
movq xmm0, qword [edi + 0xc8]
mov edx, eax
mov eax, dword [esp + 0x20]
shl edx, 5
movq qword [edx + eax + 0x50db40], xmm0
mov ecx, dword [edi + 0xd0]
mov dword [edx + eax + 0x50db48], ecx
mov ecx, dword [esp + 0x20]
mov eax, dword [edi + 0x28]
mov dword [edx + ecx + 0x50db38], eax
mov eax, dword [0x101cc118]
mov eax, dword [eax]
mov dword [edx + ecx + 0x50db3c], eax
jmp 0x100bea6c
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x38]
test ecx, ecx
je 0x100bee7b
lea eax, [ecx - 0x14]
test eax, eax
je 0x100bee7b
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x24]
call eax
test al, al
je 0x100bee7b
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
mov esi, dword [ecx + eax*4]
mov ecx, dword [0x101d3a84]
cmp ecx, dword [esi + 4]
jle 0x100beae2
push 0x101d3a84
call fcn.100d2315
mov ecx, dword [0x101d3a84]
add esp, 4
cmp ecx, 0xffffffff
jne 0x100beae2
mov eax, dword [0x101d3a74]
push 0x101d3a84
mov dword [0x101d3a60], eax
call fcn.100d22cb
mov ecx, dword [0x101d3a84]
add esp, 4
mov eax, dword [0x101d3a60]
mov edx, dword [esp + 0xc]
mov edi, dword [eax + edx]
mov eax, dword [0x101cba58]
mov dword [esp + 0x14], eax
cmp ecx, dword [esi + 4]
jle 0x100beb2c
push 0x101d3a84
call fcn.100d2315
add esp, 4
cmp dword [0x101d3a84], 0xffffffff
jne 0x100beb2c
mov eax, dword [0x101d3a74]
push 0x101d3a84
mov dword [0x101d3a60], eax
call fcn.100d22cb
add esp, 4
mov eax, dword [0x101d3a60]
mov ecx, dword [esp + 0x14]
cmp edi, dword [ecx + eax]
je 0x100bee7b
mov eax, dword [0x101d3f3c]
cmp eax, dword [esi + 4]
jle 0x100beb78
push 0x101d3f3c
call fcn.100d2315
add esp, 4
cmp dword [0x101d3f3c], 0xffffffff
jne 0x100beb78
mov eax, dword [0x101d3b7c]
push 0x101d3f3c
mov dword [0x101d3f2c], eax
call fcn.100d22cb
add esp, 4
mov eax, dword [0x101d3f2c]
mov edi, dword [esp + 0xc]
cmp byte [eax + edi], 0
je 0x100bee7f
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [esp + 0x38]
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 + 0x38]
imul eax, eax, 0x174
add edx, 0x18c
mov dword [esp + 0x68], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0xf
add edx, eax
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100bebe8
sub ecx, esi
push ecx
push edx
lea ecx, [esp + 0x70]
call fcn.10044cb0
push 0x90
lea eax, [esp + 0xe4]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [esp + 0x170], 0
xorps xmm0, xmm0
mov dword [esp + 0x194], 0
lea eax, [esp + 0x19c]
mov dword [esp + 0x198], 0
movups xmmword [esp + 0x174], xmm0
push 0x80
push 0
push eax
movups xmmword [esp + 0x190], xmm0
call sub.VCRUNTIME140.dll_memset
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
add esp, 0xc
mov word [esp + 0x21c], 0
xorps xmm0, xmm0
mov byte [esp + 0x230], 0
movups xmmword [esp + 0x220], xmm0
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x101cc18c]
lea esi, [esp + 0xe0]
push esi
push eax
mov edx, dword [ecx]
mov eax, dword [edx + 0x20]
call eax
cmp dword [esp + 0x78], 0
je 0x100becbb
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x84]
call fcn.10044650
mov ecx, 4
jmp 0x100bed10
lea ecx, [esp + 0xf0]
mov dword [esp + 0xb0], 0
mov dword [esp + 0xc0], 0
lea edx, [ecx + 1]
mov dword [esp + 0xc4], 0xf
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100bece6
sub ecx, edx
lea eax, [esp + 0xf0]
push ecx
push eax
lea ecx, [esp + 0xb8]
call fcn.10044cb0
lea eax, [esp + 0xb0]
mov ecx, 8
or dword [esp + 0x1c], ecx
lea ecx, [esp + 0x98]
push eax
call fcn.10044650
mov eax, dword [esp + 0x1c]
test al, 8
je 0x100bed70
mov edx, dword [esp + 0xc4]
and eax, 0xfffffff7
mov dword [esp + 0x1c], eax
cmp edx, 0x10
jb 0x100bed70
mov ecx, dword [esp + 0xb0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100bed62
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100bdc79
push edx
push ecx
call fcn.100d273a
mov eax, dword [esp + 0x24]
add esp, 8
test al, 4
je 0x100bedd5
mov edx, dword [esp + 0x94]
and eax, 0xfffffffb
mov dword [esp + 0x1c], eax
cmp edx, 0x10
jb 0x100bedb7
mov ecx, dword [esp + 0x80]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100bedad
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100bdc79
push edx
push ecx
call fcn.100d273a
add esp, 8
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0xf
mov byte [esp + 0x80], 0
mov esi, dword [esp + 0x10]
lea eax, [esp + 0x98]
push eax
lea ecx, [esi + 0x38]
call fcn.10044540
mov edx, dword [esp + 0xac]
cmp edx, 0x10
jb 0x100bee25
mov ecx, dword [esp + 0x98]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100bee1b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100bdc79
push edx
push ecx
call fcn.100d273a
add esp, 8
mov edx, dword [esp + 0x7c]
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0xf
mov byte [esp + 0x98], 0
cmp edx, 0x10
jb 0x100bee83
mov ecx, dword [esp + 0x68]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100bee6f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100bdc79
push edx
push ecx
call fcn.100d273a
add esp, 8
jmp 0x100bee83
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
cmp dword [esi + 0x24], 0
jne 0x100bef02
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov eax, dword [eax + 0x24]
call eax
test al, al
je 0x100bfab9
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov byte [esi], 0
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x101d3a14]
cmp eax, dword [ecx + 4]
jle 0x100beee4
push 0x101d3a14
call fcn.100d2315
add esp, 4
cmp dword [0x101d3a14], 0xffffffff
jne 0x100beee4
mov eax, dword [0x101d3a04]
push 0x101d3a14
mov dword [0x101d39ec], eax
call fcn.100d22cb
add esp, 4
mov eax, dword [0x101d39ec]
mov ecx, edi
mov edx, dword [esp + 0x28]
mov dword [eax + edi], edx
lea eax, [esp + 0x44]
push eax
call dword [0x101cc2a0]
jmp 0x100bfab9
lea eax, [esp + 0x68]
mov byte [esi], 1
push eax
mov ecx, edi
call fcn.100bcef0
add esp, 4
mov ecx, edi
movups xmm0, xmmword [eax]
mov eax, dword [eax + 0x10]
movups xmmword [esi + 0x84], xmm0
mov dword [esi + 0x94], eax
mov eax, dword [edi]
mov eax, dword [eax + 0x28]
call eax
lea ecx, [edi + 8]
movq xmm0, qword [eax]
movq qword [esi + 0xb0], xmm0
mov eax, dword [eax + 8]
mov dword [esi + 0xb8], 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 0x100bef61
mov eax, 0x64
jmp 0x100bef68
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 [0x101d4260]
cmp eax, dword [edi + 4]
jle 0x100befb9
push 0x101d4260
call fcn.100d2315
add esp, 4
cmp dword [0x101d4260], 0xffffffff
jne 0x100befb9
mov eax, dword [0x101d3c64]
push 0x101d4260
mov dword [0x101d4264], eax
call fcn.100d22cb
add esp, 4
mov eax, dword [0x101d4264]
mov ecx, dword [esp + 0xc]
mov al, byte [eax + ecx]
mov byte [esi + 0x98], al
mov eax, dword [0x101d3de4]
cmp eax, dword [edi + 4]
jle 0x100bf009
push 0x101d3de4
call fcn.100d2315
add esp, 4
cmp dword [0x101d3de4], 0xffffffff
jne 0x100bf005
mov eax, dword [0x101d3c74]
push 0x101d3de4
mov dword [0x101d3dec], eax
call fcn.100d22cb
add esp, 4
mov ecx, dword [esp + 0xc]
mov eax, dword [0x101d3dec]
mov eax, dword [eax + ecx]
mov dword [esi + 0xa4], eax
cmp byte [esi + 1], 0
jne 0x100bfab9
mov eax, dword [0x101d3a10]
cmp eax, dword [edi + 4]
jle 0x100bf05f
push 0x101d3a10
call fcn.100d2315
add esp, 4
cmp dword [0x101d3a10], 0xffffffff
jne 0x100bf05b
mov eax, dword [0x101d3a00]
push 0x101d3a10
mov dword [0x101d39e0], eax
call fcn.100d22cb
add esp, 4
mov ecx, dword [esp + 0xc]
mov eax, dword [0x101d39e0]
mov al, byte [eax + ecx]
mov byte [esi + 0x99], al
mov eax, dword [esp + 0xc]
mov esi, dword [eax + 0x3874]
test esi, esi
je 0x100bf154
movss xmm0, dword [esi + 0xa4]
ucomiss xmm0, dword [0x10150124]
lahf
test ah, 0x44
jnp 0x100bf154
mov eax, dword [0x101d3a14]
cmp eax, dword [edi + 4]
jle 0x100bf0d2
push 0x101d3a14
call fcn.100d2315
add esp, 4
cmp dword [0x101d3a14], 0xffffffff
jne 0x100bf0d2
mov eax, dword [0x101d3a04]
push 0x101d3a14
mov dword [0x101d39ec], eax
call fcn.100d22cb
add esp, 4
mov eax, dword [0x101d39ec]
mov ecx, dword [esp + 0xc]
test byte [eax + ecx], 1
je 0x100bf154
cmp byte [esi + 0x108], 0
je 0x100bf154
cmp byte [esi + 0x109], 0
jne 0x100bf154
movss xmm0, dword [esi + 0xa4]
movss xmm1, dword [0x10150268]
comiss xmm1, xmm0
jbe 0x100bf144
comiss xmm0, dword [0x10150228]
jbe 0x100bf144
mov edi, dword [esp + 0x10]
mov edx, dword [0x101cc118]
mov eax, dword [edi + 0xac]
mov ecx, dword [edi + 0xa8]
cmp eax, dword [edx + 0x1c]
je 0x100bf13c
inc ecx
mov dword [edi + 0xa8], ecx
mov eax, dword [edx + 0x1c]
mov dword [edi + 0xac], eax
cmp ecx, 0x10
setge al
jmp 0x100bf15a
mov edi, dword [esp + 0x10]
mov dword [edi + 0xa8], 0
jmp 0x100bf158
mov edi, dword [esp + 0x10]
xor al, al
mov ecx, dword [esp + 0x30]
mov byte [edi + 0x9b], al
mov eax, dword [esp + 0x2c]
mov esi, dword [ecx + eax*4]
mov eax, dword [0x101d3d78]
cmp eax, dword [esi + 4]
jle 0x100bf1a5
push 0x101d3d78
call fcn.100d2315
add esp, 4
cmp dword [0x101d3d78], 0xffffffff
jne 0x100bf1a5
mov eax, dword [0x101d3be0]
push 0x101d3d78
mov dword [0x101d3d5c], eax
call fcn.100d22cb
add esp, 4
mov eax, dword [0x101d3d5c]
mov ecx, dword [esp + 0xc]
mov al, byte [eax + ecx]
mov byte [edi + 0xa0], al
mov eax, dword [0x101d5af8]
cmp eax, dword [esi + 4]
jle 0x100bf1f1
push 0x101d5af8
call fcn.100d2315
add esp, 4
cmp dword [0x101d5af8], 0xffffffff
jne 0x100bf1f1
mov eax, dword [0x101d3bc8]
push 0x101d5af8
mov dword [0x101d5b20], eax
call fcn.100d22cb
add esp, 4
mov eax, dword [0x101d5b20]
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 0x24]
mov al, byte [eax + esi]
mov byte [edi + 0x9f], al
mov eax, dword [ecx]
mov esi, dword [0x101d38c4]
mov eax, dword [eax + 0x28]
call eax
imul ecx, eax, 0x3508
add ecx, esi
mov dword [esp + 0x14], ecx
je 0x100bf2b3
cmp dword [ecx + 0x3504], 0
je 0x100bf2b3
mov esi, dword [ecx + 0x3504]
add esi, dword [ecx + 0x3500]
mov eax, dword [ecx + 0x34f4]
mov dword [esp + 0x28], eax
lea edi, [esi - 1]
nop dword [eax]
cmp esi, dword [ecx + 0x3500]
je 0x100bf2af
test eax, eax
je 0x100bf260
mov eax, dword [eax]
jmp 0x100bf262
xor eax, eax
mov ecx, dword [eax + 8]
dec esi
mov eax, dword [eax + 4]
dec ecx
and ecx, edi
mov ecx, dword [eax + ecx*4]
call fcn.1009ed30
test al, al
mov eax, dword [esp + 0x28]
jne 0x100bf283
mov ecx, dword [esp + 0x14]
dec edi
jmp 0x100bf250
test eax, eax
je 0x100bf29b
mov eax, dword [eax]
mov edi, dword [esp + 0x10]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
dec ecx
and ecx, esi
mov eax, dword [eax + ecx*4]
jmp 0x100bf2b5
mov edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
dec ecx
and ecx, esi
mov eax, dword [eax + ecx*4]
jmp 0x100bf2b5
mov edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x2c]
test eax, eax
mov edx, dword [esp + 0x30]
sete al
mov byte [edi + 0x9c], al
mov dword [edi + 0x18], 0x3f8ccccd
mov esi, dword [edx + ecx*4]
mov eax, dword [0x101d3f28]
cmp eax, dword [esi + 4]
jle 0x100bf30f
push 0x101d3f28
call fcn.100d2315
add esp, 4
cmp dword [0x101d3f28], 0xffffffff
jne 0x100bf30f
mov eax, dword [0x101d3b1c]
add eax, 4
push 0x101d3f28
mov dword [0x101d4254], eax
call fcn.100d22cb
add esp, 4
mov eax, dword [0x101d4254]
mov ecx, dword [esp + 0xc]
movss xmm0, dword [eax + ecx]
mov eax, dword [0x101cc118]
mov ecx, dword [esp + 0x24]
addss xmm0, dword [eax + 0x20]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
movss dword [esp + 0x14], xmm0
call eax
lea eax, [eax + eax*2]
movss xmm3, dword [eax*4 + 0x101d3f40]
subss xmm3, dword [esp + 0x14]
mov eax, dword [0x101d3cf0]
movss dword [esp + 0x28], xmm3
cmp eax, dword [esi + 4]
jle 0x100bf390
push 0x101d3cf0
call fcn.100d2315
add esp, 4
cmp dword [0x101d3cf0], 0xffffffff
jne 0x100bf38a
mov eax, dword [0x101d3b8c]
push 0x101d3cf0
mov dword [0x101d3ce4], eax
call fcn.100d22cb
add esp, 4
movss xmm3, dword [esp + 0x28]
mov eax, dword [0x101d3ce4]
mov ecx, dword [esp + 0xc]
movss xmm1, dword [eax + ecx + 4]
movss xmm2, dword [eax + ecx]
movss xmm0, dword [eax + ecx + 8]
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
movss xmm0, dword [0x10150278]
comiss xmm2, xmm0
jbe 0x100bf3cf
xor al, al
jmp 0x100bf3d5
comiss xmm3, xmm0
seta al
mov ecx, dword [esp + 0x24]
mov byte [edi + 0x1c], al
movss xmm0, dword [0x10150280]
mov esi, dword [0x101cc124]
subss xmm0, xmm3
mulss xmm0, dword [0x1015026c]
movss dword [edi + 0x14], xmm0
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x101d3bdc]
mov edx, dword [esp + 0xc]
lea eax, [ecx + eax*4]
mov eax, dword [eax + esi]
mov dword [edi + 0x2c], eax
mov edi, dword [edx + 0x2970]
cmp dword [edi + 0x68], 0
je 0x100bf493
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 [0x101cc174]
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x78]
call edx
test eax, eax
je 0x100bf481
push dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, eax
mov esi, dword [0x101cc6d8]
call esi
cmp eax, 0x3c7
jne 0x100bf481
movss xmm0, dword [edi + 0x58]
ucomiss xmm0, dword [0x10150124]
lahf
test ah, 0x44
jnp 0x100bf481
mov ecx, dword [esp + 0x10]
mov al, 1
mov edx, dword [esp + 0xc]
mov byte [ecx + 0x9d], al
jmp 0x100bf497
mov ecx, dword [esp + 0x10]
xor al, al
mov edx, dword [esp + 0xc]
mov byte [ecx + 0x9d], al
jmp 0x100bf497
mov ecx, dword [esp + 0x10]
mov eax, dword [0x101d38a4]
mov eax, dword [eax + 0x656a8]
test eax, eax
je 0x100bf4ae
cmp eax, edx
jne 0x100bf4ae
mov al, 1
jmp 0x100bf4b0
xor al, al
mov byte [ecx + 0x9a], al
mov eax, dword [0x101cc114]
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 [0x101d3b5c]
cmp eax, dword [esi + 4]
jle 0x100bf505
push 0x101d3b5c
call fcn.100d2315
add esp, 4
cmp dword [0x101d3b5c], 0xffffffff
jne 0x100bf505
mov eax, dword [0x101d3b0c]
push 0x101d3b5c
mov dword [0x101d3afc], eax
call fcn.100d22cb
add esp, 4
mov eax, dword [0x101d3afc]
mov ecx, dword [esp + 0xc]
push dword [eax + ecx]
mov ecx, dword [0x101cc114]
call edi
mov edi, eax
test edi, edi
je 0x100bf95e
mov ecx, dword [0x101d3a1c]
cmp ecx, dword [esi + 4]
jle 0x100bf55e
push 0x101d3a1c
call fcn.100d2315
add esp, 4
cmp dword [0x101d3a1c], 0xffffffff
jne 0x100bf55e
mov eax, dword [0x101d3a28]
push 0x101d3a1c
mov dword [0x101d3a24], eax
call fcn.100d22cb
add esp, 4
mov eax, dword [0x101d3a24]
movsx eax, word [eax + edi]
cmp eax, 0x1f4
jg 0x100bf790
je 0x100bf789
dec eax
cmp eax, 0x51
ja case.0x100bf79a.510
movzx eax, byte [eax + 0x100bfbc8]
jmp dword [eax*4 + 0x100bfaf4]
mov ecx, 0x1014ffd8
jmp 0x100bf7e5
mov ecx, 0x1014ffd4
jmp 0x100bf7e5
mov ecx, 0x1014ffec
jmp 0x100bf7e5
mov ecx, 0x1014ffe8
jmp 0x100bf7e5
mov ecx, 0x1014ffe4
jmp 0x100bf7e5
mov ecx, 0x1014ffe0
jmp 0x100bf7e5
mov ecx, 0x1014fffc
jmp 0x100bf7e5
mov ecx, 0x1014fff8
jmp 0x100bf7e5
mov ecx, 0x1014fff4
jmp 0x100bf7e5
mov ecx, 0x1014fff0
jmp 0x100bf7e5
mov ecx, 0x1015000c
jmp 0x100bf7e5
mov ecx, 0x10150008
jmp 0x100bf7e5
mov ecx, 0x10150004
jmp 0x100bf7e5
mov ecx, 0x10150000
jmp 0x100bf7e5
mov ecx, 0x1015001c
jmp 0x100bf7e5
mov ecx, 0x10150018
jmp 0x100bf7e5
mov ecx, 0x10150014
jmp 0x100bf7e5
mov ecx, 0x10150010
jmp 0x100bf7e5
mov ecx, 0x1015002c
jmp 0x100bf7e5
mov ecx, 0x10150028
jmp 0x100bf7e5
mov ecx, 0x10150024
jmp 0x100bf7e5
mov ecx, 0x10150020
jmp 0x100bf7e5
mov ecx, 0x1015003c
jmp 0x100bf7e5
mov ecx, 0x10150038
jmp 0x100bf7e5
mov ecx, 0x10150034
jmp 0x100bf7e5
mov ecx, 0x10150030
jmp 0x100bf7e5
mov ecx, 0x1015004c
jmp 0x100bf7e5
mov ecx, 0x10150048
jmp 0x100bf7e5
mov ecx, 0x10150044
jmp 0x100bf7e5
mov ecx, 0x10150040
jmp 0x100bf7e5
mov ecx, 0x1015005c
jmp 0x100bf7e5
mov ecx, 0x10150058
jmp 0x100bf7e5
mov ecx, 0x10150054
jmp 0x100bf7e5
mov ecx, 0x10150050
jmp 0x100bf7e5
mov ecx, 0x1015006c
jmp 0x100bf7e5
mov ecx, 0x10150068
jmp 0x100bf7e5
mov ecx, 0x10150064
jmp 0x100bf7e5
mov ecx, 0x10150060
jmp 0x100bf7e5
mov ecx, 0x1015007c
jmp 0x100bf7e5
mov ecx, 0x10150078
jmp 0x100bf7e5
mov ecx, 0x10150074
jmp 0x100bf7e5
mov ecx, 0x10150070
jmp 0x100bf7e5
mov ecx, 0x1015008c
jmp 0x100bf7e5
mov ecx, 0x10150088
jmp 0x100bf7e5
mov ecx, 0x10150084
jmp 0x100bf7e5
mov ecx, 0x10150080
jmp 0x100bf7e5
mov ecx, 0x1015009c
jmp 0x100bf7e5
mov ecx, 0x10150098
jmp 0x100bf7e5
mov ecx, 0x10150094
jmp 0x100bf7e5
mov ecx, 0x10150090
jmp 0x100bf7e5
mov ecx, 0x101500ac
jmp 0x100bf7e5
mov ecx, 0x101500a8
jmp 0x100bf7e5
mov ecx, 0x101500a4
jmp 0x100bf7e5
sub eax, 0x1f9
cmp eax, 0xb
ja case.0x100bf79a.510
jmp dword [eax*4 + 0x100bfc1c]
mov ecx, 0x101500a0
jmp 0x100bf7e5
mov ecx, 0x101500bc
jmp 0x100bf7e5
mov ecx, 0x101500b8
jmp 0x100bf7e5
mov ecx, 0x101500b4
jmp 0x100bf7e5
mov ecx, 0x101500b0
jmp 0x100bf7e5
mov ecx, 0x101500cc
jmp 0x100bf7e5
mov ecx, 0x101500c8
jmp 0x100bf7e5
mov ecx, 0x101500c4
jmp 0x100bf7e5
mov ecx, 0x101500c0
jmp 0x100bf7e5
mov ecx, 0x101500d0
mov edx, ecx
lea esi, [edx + 1]
nop word [eax + eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x100bf7f0
sub edx, esi
mov esi, dword [esp + 0x10]
push edx
push ecx
lea ecx, [esi + 0x50]
call fcn.10044cb0
lea eax, [esp + 0x80]
mov ecx, edi
push eax
call fcn.100bb900
push eax
lea ecx, [esi + 0x68]
call fcn.10044540
mov edx, dword [esp + 0x94]
cmp edx, 0x10
jb 0x100bf85b
mov ecx, dword [esp + 0x80]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100bf851
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100bdc79
push edx
push ecx
call fcn.100d273a
add esp, 8
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x6f8]
call eax
mov esi, eax
test esi, esi
jne 0x100bf871
xor al, al
jmp 0x100bf8dc
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x101d3a1c]
cmp eax, dword [ecx + 4]
jle 0x100bf8b6
push 0x101d3a1c
call fcn.100d2315
add esp, 4
cmp dword [0x101d3a1c], 0xffffffff
jne 0x100bf8b6
mov eax, dword [0x101d3a28]
push 0x101d3a1c
mov dword [0x101d3a24], eax
call fcn.100d22cb
add esp, 4
mov eax, dword [0x101d3a24]
mov ecx, dword [esi + 0xc8]
cmp word [eax + edi], 0x1f
je 0x100bf8da
test ecx, ecx
je 0x100bf8da
cmp ecx, 7
jl 0x100bf8d6
cmp ecx, 0x10
jle 0x100bf8da
xor al, al
jmp 0x100bf8dc
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 0x100bf95e
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
mov edx, dword [ecx + eax*4]
mov ecx, dword [0x101d3d3c]
cmp ecx, dword [edx + 4]
jle 0x100bf93b
push 0x101d3d3c
call fcn.100d2315
add esp, 4
cmp dword [0x101d3d3c], 0xffffffff
jne 0x100bf93b
mov eax, dword [0x101d3c2c]
push 0x101d3d3c
mov dword [0x101d3d30], eax
call fcn.100d22cb
add esp, 4
mov eax, dword [0x101d3d30]
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 [0x101cc174]
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 0x100bfab9
mov edx, dword [edi + 0x2900]
xor edi, edi
mov ecx, dword [esi + 0x9c]
mov dword [esp + 0x14], edx
test ecx, ecx
jle 0x100bfab9
mov eax, dword [esp + 0x10]
add eax, 0x4d8
mov dword [esp + 0xc], edi
add edx, 0x1c
mov dword [esp + 0x10], eax
mov dword [esp + 0x28], edx
nop dword [eax + eax]
mov eax, ecx
cmp edi, ecx
jg 0x100bfa8c
mov esi, dword [esi + 0xa0]
add esi, dword [esp + 0x24]
add esi, dword [esp + 0xc]
je 0x100bfa88
test dword [esi + 0xa0], 0x100
je 0x100bfa88
cmp dword [esi + 4], 0xffffffff
je 0x100bfa88
movss xmm0, dword [edx - 0x10]
mov eax, dword [esp + 0x10]
mov ecx, dword [0x101d3860]
add eax, 0xfffffc00
movss dword [esp + 0x50], xmm0
movss xmm0, dword [edx]
push 1
push eax
movss dword [esp + 0x5c], xmm0
lea eax, [esp + 0x58]
movss xmm0, dword [edx + 0x10]
push eax
movss dword [esp + 0x64], xmm0
call fcn.1005eb80
mov eax, dword [esi + 4]
mov ecx, dword [0x101d3860]
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 + 0x64], xmm0
movss xmm0, dword [eax + 0x1c]
movss dword [esp + 0x68], xmm0
movss xmm0, dword [eax + 0x2c]
lea eax, [esp + 0x64]
push eax
movss dword [esp + 0x70], xmm0
call fcn.1005eb80
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov eax, dword [esi + 0x9c]
jmp 0x100bfa8c
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 0x100bf9c0
jmp 0x100bfab9
mov byte [edi], 0
jmp 0x100bfab9
mov eax, dword [esp + 0x10]
mov byte [eax], 0
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x3c]
add esi, 0xc
mov dword [esp + 0x3c], esi
cmp esi, eax
jne 0x100bdcd4
push 0x101d5c44
call dword [sym.imp.MSVCP140.dll__Mtx_unlock]
mov ecx, dword [esp + 0x240]
add esp, 4
pop edi
pop esi
xor ecx, esp
call fcn.100d21f8
mov esp, ebp
pop ebp
ret