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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1ac
cmp byte [0x10173005], 0
mov dword [ebp - 0x28], ecx
je 0x100a3768
cmp dword [0x10173080], 0
je 0x100a3768
cmp byte [section..data], 0
jne 0x100a3768
mov ecx, dword [0x1030e170]
push edi
push 0
call fcn.10087570
mov edi, eax
mov dword [ebp - 0x40], edi
mov ecx, dword [edi]
cmp ecx, dword [edi + 4]
je 0x100a3767
cmp dword [ebp + 8], 4
jne 0x100a3767
mov eax, dword [0x1030aa34]
push ebx
push esi
call eax
mov ecx, dword [0x10173080]
call fcn.1005b6e0
mov dword [eax], 0x7906
mov ecx, dword [0x1030e1c0]
call fcn.100acb50
mov esi, dword [edi + 4]
xor ecx, ecx
xor eax, eax
mov dword [ebp + 8], esi
mov esi, dword [edi]
xor ebx, ebx
mov dword [ebp - 8], ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 4], esi
cmp esi, dword [ebp + 8]
je 0x100a352a
mov ecx, dword [ebp + 8]
nop dword [eax]
mov esi, dword [esi]
mov dword [ebp - 8], esi
test esi, esi
je 0x100a3513
cmp esi, dword [0x10173080]
jne 0x100a2c85
test byte [0x1030a1fc], 1
jne 0x100a2c3f
mov eax, dword [0x1030a1f4]
or dword [0x1030a1fc], 1
mov dword [0x1030a1f8], eax
mov eax, dword [0x1030a1f8]
cmp dword [eax + esi], 0
jne 0x100a3513
test byte [0x1030a204], 1
jne 0x100a2c68
mov eax, dword [0x1030a1f0]
or dword [0x1030a204], 1
mov dword [0x1030a200], eax
mov eax, dword [0x1030a200]
cmp dword [eax + esi], 0
jle 0x100a3513
push esi
call fcn.100cd7f0
add esp, 4
jmp 0x100a3510
mov eax, dword [esi + 8]
lea edi, [esi + 8]
mov ecx, edi
call dword [eax + 0x28]
imul ebx, eax, 0xe8ec
add ebx, dword [ebp - 0x28]
mov dword [ebp - 0x1c], ebx
cmp dword [ebx + 0x14], esi
je 0x100a320e
cmp dword [ebx + 0x14], 0
mov byte [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], 0
je 0x100a2cd1
mov dword [ebx + 0x14], 0
lea ecx, [ebx + 0xe8d8]
mov dword [ebx + 0xe8d0], 0
mov dword [ebx + 0xe8d4], 0
call fcn.1006c5f0
push 0x2d8
lea edi, [ebx + 0xf8]
mov word [ebx + 0x18], 0
lea eax, [edi + 0x3104]
mov word [ebx + 0x1c], 0
push 0
push eax
mov byte [ebx + 0x1e], 0
mov dword [ebx + 0x20], 0
mov dword [ebx + 0x24], 0
mov dword [ebx + 0x28], 0
mov dword [ebx + 0x2c], 0
mov dword [ebx + 0x30], 0
mov dword [ebx + 0x34], 0
mov dword [ebx + 0x38], 0
mov dword [ebx + 0x3c], 0
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x4c], 0
mov dword [ebx + 0x50], 0
mov dword [ebx + 0x54], 0
mov dword [ebx + 0x58], 0
mov dword [ebx + 0x48], 0
mov dword [ebx + 0x5c], 0
mov dword [ebx + 0x70], 0
mov dword [ebx + 0x60], 0
mov dword [ebx + 0x6c], 0
mov dword [ebx + 0x68], 0
mov dword [ebx + 0x64], 0
mov dword [ebx + 0xe8cc], 0
mov dword [ebx + 0x78], 0
mov word [ebx + 0x7c], 0
mov dword [ebx + 0x94], 0
mov dword [ebx + 0x90], 0
mov dword [ebx + 0x8c], 0
mov dword [ebx + 0xa0], 0
mov dword [ebx + 0x9c], 0
mov dword [ebx + 0x98], 0
mov dword [ebx + 0xc4], 0
mov dword [ebx + 0xc0], 0
mov dword [ebx + 0xbc], 0
mov dword [ebx + 0xd0], 0
mov dword [ebx + 0xcc], 0
mov dword [ebx + 0xc8], 0
mov dword [ebx + 0xb8], 0
mov dword [ebx + 0xb4], 0
mov dword [ebx + 0xb0], 0
mov dword [ebx + 0x88], 0
mov dword [ebx + 0x84], 0
mov dword [ebx + 0x80], 0
mov dword [ebx + 0xdc], 0
mov dword [ebx + 0xd8], 0
mov dword [ebx + 0xd4], 0
mov dword [ebx + 0xe8], 0
mov dword [ebx + 0xe4], 0
mov dword [ebx + 0xe0], 0
mov dword [ebx + 0xf4], 0
mov dword [ebx + 0xf0], 0
mov dword [ebx + 0xec], 0
call sub.VCRUNTIME140.dll_memset
push 0x1800
lea eax, [edi + 0x104]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0x1800
lea eax, [edi + 0x1904]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
xorps xmm0, xmm0
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x138], 0
movups xmmword [ebp - 0x134], xmm0
movups xmmword [ebp - 0x124], xmm0
movups xmmword [ebp - 0x114], xmm0
push 0x60
lea eax, [ebp - 0x100]
mov dword [ebp - 0x104], 0
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0x60
lea eax, [ebp - 0xa0]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov ecx, 0x41
lea esi, [ebp - 0x144]
rep movsd dword es:[edi], dword [esi]
push 0x2d8
lea edi, [ebx + 0x34d4]
lea eax, [edi + 0x3104]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0x48
lea eax, [edi + 0x104]
push 0x1800
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0x1800
lea eax, [edi + 0x1904]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0x60
xorps xmm0, xmm0
mov dword [ebp - 0x144], 0
lea eax, [ebp - 0x100]
mov dword [ebp - 0x140], 0
push 0
push eax
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x138], 0
movups xmmword [ebp - 0x134], xmm0
mov dword [ebp - 0x104], 0
movups xmmword [ebp - 0x124], xmm0
movups xmmword [ebp - 0x114], xmm0
call sub.VCRUNTIME140.dll_memset
push 0x60
lea eax, [ebp - 0xa0]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov ecx, 0x41
lea esi, [ebp - 0x144]
rep movsd dword es:[edi], dword [esi]
push 0x2d8
lea edi, [ebx + 0x68b0]
lea eax, [edi + 0x3104]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0x1800
lea eax, [edi + 0x104]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0x48
lea eax, [edi + 0x1904]
push 0x1800
push 0
push eax
call sub.VCRUNTIME140.dll_memset
xorps xmm0, xmm0
mov dword [ebp - 0x144], 0
push 0x60
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x138], 0
movups xmmword [ebp - 0x134], xmm0
mov dword [ebp - 0x104], 0
movups xmmword [ebp - 0x124], xmm0
push 0
movups xmmword [ebp - 0x114], xmm0
lea eax, [ebp - 0x100]
push eax
call sub.VCRUNTIME140.dll_memset
push 0x60
lea eax, [ebp - 0xa0]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov ecx, 0x41
lea esi, [ebp - 0x144]
rep movsd dword es:[edi], dword [esi]
push 0x2d8
lea edi, [ebx + 0x9c8c]
lea eax, [edi + 0x3104]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0x1800
lea eax, [edi + 0x104]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0x1800
lea eax, [edi + 0x1904]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0x48
mov dword [ebp - 0x144], 0
xorps xmm0, xmm0
mov dword [ebp - 0x140], 0
lea eax, [ebp - 0x100]
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x138], 0
push 0x60
push 0
push eax
movups xmmword [ebp - 0x134], xmm0
mov dword [ebp - 0x104], 0
movups xmmword [ebp - 0x124], xmm0
movups xmmword [ebp - 0x114], xmm0
call sub.VCRUNTIME140.dll_memset
push 0x60
lea eax, [ebp - 0xa0]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0x60
lea eax, [ebp - 0x1ac]
mov ecx, 0x41
lea esi, [ebp - 0x144]
push 0
rep movsd dword es:[edi], dword [esi]
push eax
mov dword [ebx + 0xe868], 0
call sub.VCRUNTIME140.dll_memset
movups xmm0, xmmword [ebp - 0x1ac]
mov eax, dword [ebp - 8]
add esp, 0x24
movups xmmword [ebx + 0xe86c], xmm0
movups xmm0, xmmword [ebp - 0x19c]
movups xmmword [ebx + 0xe87c], xmm0
movups xmm0, xmmword [ebp - 0x18c]
movups xmmword [ebx + 0xe88c], xmm0
movups xmm0, xmmword [ebp - 0x17c]
movups xmmword [ebx + 0xe89c], xmm0
movups xmm0, xmmword [ebp - 0x16c]
movups xmmword [ebx + 0xe8ac], xmm0
movups xmm0, xmmword [ebp - 0x15c]
movups xmmword [ebx + 0xe8bc], xmm0
mov dword [ebx + 0x14], eax
jmp 0x100a350d
mov eax, dword [0x1030a1fc]
test al, 1
jne 0x100a322b
or eax, 1
mov dword [0x1030a1fc], eax
mov eax, dword [0x1030a1f4]
mov dword [0x1030a1f8], eax
jmp 0x100a3230
mov eax, dword [0x1030a1f8]
cmp dword [eax + esi], 0
jne 0x100a34e9
mov eax, dword [0x1030a204]
test al, 1
jne 0x100a3257
or eax, 1
mov dword [0x1030a204], eax
mov eax, dword [0x1030a1f0]
mov dword [0x1030a200], eax
jmp 0x100a325c
mov eax, dword [0x1030a200]
cmp dword [eax + esi], 0
jle 0x100a34e9
cmp byte [0x103050c0], 0
je 0x100a32c7
mov ecx, dword [0x1030a408]
test cl, 1
jne 0x100a3291
mov edx, dword [0x1030a400]
or ecx, 1
mov dword [0x1030a408], ecx
mov dword [0x1030a404], edx
jmp 0x100a3297
mov edx, dword [0x1030a404]
mov eax, dword [0x10173080]
mov eax, dword [edx + eax]
test cl, 1
jne 0x100a32b9
mov edx, dword [0x1030a400]
or ecx, 1
mov dword [0x1030a408], ecx
mov dword [0x1030a404], edx
cmp dword [edx + esi], eax
je 0x100a32c7
mov eax, dword [0x10173b90]
mov byte [eax + esi], 1
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x24]
call eax
test al, al
je 0x100a32ff
lea ecx, [ebx + 0xe8d8]
mov dword [ebx + 4], 0
call fcn.1006c5f0
mov dword [ebx + 0xe8d0], 0
mov dword [ebx + 0xe8d4], 0
jmp 0x100a350d
mov eax, dword [0x102fed6c]
mov eax, dword [eax + esi]
movss xmm0, dword [eax + 0x294]
ucomiss xmm0, dword [ebx + 0xc]
lahf
test ah, 0x44
jp 0x100a3375
mov eax, dword [0x1030eb34]
mov ecx, dword [0x1030a784]
test al, 1
jne 0x100a333a
or eax, 1
mov dword [0x1030eb34], eax
lea eax, [ecx + 4]
mov dword [0x1030eb30], eax
jmp 0x100a333f
mov eax, dword [0x1030eb30]
movss xmm0, dword [eax + esi]
mov eax, dword [0x1030a814]
test al, 1
jne 0x100a3365
or eax, 1
mov dword [0x1030a810], ecx
mov dword [0x1030a814], eax
movss dword [ecx + esi], xmm0
jmp 0x100a350d
mov ecx, dword [0x1030a810]
movss dword [ecx + esi], xmm0
jmp 0x100a350d
movss dword [ebx + 0xc], xmm0
mov eax, dword [0x1030a814]
mov edx, dword [0x1030a784]
test al, 1
jne 0x100a339b
or eax, 1
mov ecx, edx
mov dword [0x1030a814], eax
mov dword [0x1030a810], ecx
jmp 0x100a33a1
mov ecx, dword [0x1030a810]
mov eax, dword [0x1030eb34]
test al, 1
jne 0x100a33bc
or eax, 1
mov dword [0x1030eb34], eax
lea eax, [edx + 4]
mov dword [0x1030eb30], eax
jmp 0x100a33c1
mov eax, dword [0x1030eb30]
movss xmm0, dword [eax + esi]
comiss xmm0, dword [ecx + esi]
jae 0x100a350d
push esi
call fcn.100cd7f0
mov eax, dword [0x102fed68]
add esp, 4
mov ecx, dword [eax + esi]
test ecx, ecx
je 0x100a350d
mov eax, dword [0x1030e074]
test al, 1
jne 0x100a3409
or eax, 1
mov dword [0x1030e074], eax
mov eax, dword [0x1030ad94]
add eax, 0xfffffffc
mov dword [0x1030e070], eax
jmp 0x100a340e
mov eax, dword [0x1030e070]
movss xmm0, dword [ebx + 8]
ucomiss xmm0, dword [eax + esi]
lahf
test ah, 0x44
jnp 0x100a3450
mov dword [ecx + 0x60], esi
call fcn.1005aa30
mov eax, dword [0x1030e074]
test al, 1
jne 0x100a3445
or eax, 1
mov dword [0x1030e074], eax
mov eax, dword [0x1030ad94]
add eax, 0xfffffffc
mov dword [0x1030e070], eax
jmp 0x100a344a
mov eax, dword [0x1030e070]
mov eax, dword [eax + esi]
mov dword [ebx + 8], eax
mov edx, dword [0x10173080]
test edx, edx
je 0x100a34a1
mov eax, dword [0x1030a408]
mov edi, dword [0x1030a400]
test al, 1
jne 0x100a347b
or eax, 1
mov ecx, edi
mov dword [0x1030a408], eax
mov dword [0x1030a404], ecx
jmp 0x100a3481
mov ecx, dword [0x1030a404]
mov edx, dword [ecx + edx]
test al, 1
jne 0x100a3498
or eax, 1
mov ecx, edi
mov dword [0x1030a408], eax
mov dword [0x1030a404], ecx
cmp edx, dword [ecx + esi]
jne 0x100a34a1
mov al, 1
jmp 0x100a34a3
xor al, al
mov byte [ebx], al
lea eax, [ebp - 0x1c]
mov ecx, dword [0x10300b2c]
push eax
push 0x100a43d0
call fcn.1009f3c0
mov ebx, dword [ebp - 0x10]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], edx
cmp ebx, dword [ebp - 0x18]
je 0x100a34d4
mov dword [ebx], eax
mov dword [ebx + 4], edx
add ebx, 8
mov dword [ebp - 0x10], ebx
jmp 0x100a3510
lea eax, [ebp - 0x24]
push eax
push ebx
lea ecx, [ebp - 0x14]
call fcn.1006ea70
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x18], eax
jmp 0x100a350d
cmp byte [ebx], 0
jne 0x100a3506
mov eax, dword [edi]
mov ecx, edi
mov esi, dword [0x1030e1c0]
call dword [eax + 0x28]
mov dword [esi + eax*4 + 0x13fc], 0
mov dword [ebx + 0x14], 0
mov ebx, dword [ebp - 0x10]
mov ecx, dword [ebp + 8]
mov esi, dword [ebp - 4]
add esi, 0xc
mov dword [ebp - 4], esi
cmp esi, ecx
jne 0x100a2c10
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 8], ecx
mov eax, ecx
mov dword [ebp - 4], ecx
cmp eax, ebx
je 0x100a360b
mov esi, dword [ebp - 0x34]
nop word [eax + eax]
mov edi, dword [0x10300b2c]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x3c], eax
lea eax, [edi + 0xc0]
mov dword [ebp - 0x1c], ecx
push eax
mov dword [ebp + 8], eax
call sub.MSVCP140.dll__Mtx_lock
add esp, 4
test eax, eax
jne 0x100a377c
mov eax, dword [ebp + 8]
cmp dword [eax + 0x2c], 0x7fffffff
je 0x100a376e
mov ebx, dword [ebp + 8]
lea eax, [edi + 0x98]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x34], esi
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x2c], eax
nop dword [eax]
movq xmm0, qword [edi + 0x120]
movq qword [ebp - 0x24], xmm0
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
nop
cmp dword [ebp - 0x2c], eax
ja 0x100a35de
jb 0x100a35c0
cmp dword [ebp - 0x30], ecx
jae 0x100a35de
mov ecx, dword [ebp - 0x38]
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x14c]
push eax
lea ecx, [ecx + 0x78]
call fcn.10068800
mov eax, dword [eax]
cmp dword [eax + 0x10], 1
je 0x100a35ed
push ebx
push esi
call sub.MSVCP140.dll__Cnd_wait
mov edi, dword [ebp - 0x38]
add esp, 8
jmp 0x100a35a0
push ebx
call sub.MSVCP140.dll__Mtx_unlock
mov eax, dword [ebp - 4]
add esp, 4
mov esi, dword [ebp - 0x34]
add eax, 8
mov dword [ebp - 4], eax
cmp eax, dword [ebp - 0x10]
jne 0x100a3540
mov ebx, dword [ebp - 0x40]
mov esi, dword [ebx + 4]
mov ebx, dword [ebx]
mov dword [ebp + 8], esi
cmp ebx, esi
je 0x100a372c
mov eax, esi
mov esi, dword [ebx]
test esi, esi
je 0x100a3721
cmp esi, dword [0x10173080]
je 0x100a3721
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
call dword [eax + 0x28]
mov ecx, dword [ebp - 0x28]
imul eax, eax, 0xe8ec
cmp dword [eax + ecx + 0x14], esi
jne 0x100a371e
mov eax, dword [0x1030a1fc]
test al, 1
jne 0x100a366f
or eax, 1
mov dword [0x1030a1fc], eax
mov eax, dword [0x1030a1f4]
mov dword [0x1030a1f8], eax
jmp 0x100a3674
mov eax, dword [0x1030a1f8]
cmp dword [eax + esi], 0
jne 0x100a371e
mov eax, dword [0x1030a204]
test al, 1
jne 0x100a369b
or eax, 1
mov dword [0x1030a204], eax
mov eax, dword [0x1030a1f0]
mov dword [0x1030a200], eax
jmp 0x100a36a0
mov eax, dword [0x1030a200]
cmp dword [eax + esi], 0
jle 0x100a371e
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
mov eax, dword [eax + 0x24]
call eax
test al, al
jne 0x100a371e
mov eax, dword [0x1030eb34]
mov ecx, dword [0x1030a784]
test al, 1
jne 0x100a36d7
or eax, 1
lea edx, [ecx + 4]
mov dword [0x1030eb34], eax
mov dword [0x1030eb30], edx
jmp 0x100a36dd
mov edx, dword [0x1030eb30]
mov eax, dword [0x1030a814]
test al, 1
jne 0x100a36f6
or eax, 1
mov dword [0x1030a810], ecx
mov dword [0x1030a814], eax
jmp 0x100a36fc
mov ecx, dword [0x1030a810]
movss xmm0, dword [edx + esi]
comiss xmm0, dword [ecx + esi]
jae 0x100a371e
cmp dword [esi + 0x28c0], 0xffffffff
je 0x100a371e
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax + 0x1b0]
call eax
mov eax, dword [ebp + 8]
add ebx, 0xc
cmp ebx, eax
jne 0x100a3620
mov edx, dword [ebp - 8]
pop esi
pop ebx
test edx, edx
je 0x100a3767
mov ecx, dword [ebp - 0x18]
mov eax, edx
sub ecx, edx
and ecx, 0xfffffff8
cmp ecx, 0x1000
jb 0x100a375d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100a375d
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100e100a
add esp, 8
pop edi
mov esp, ebp
pop ebp
ret 4
push 6
mov dword [eax + 0x2c], 0x7ffffffe
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
push 5
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
int3