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

Disassembly:
sub esp, 0xbc
mov eax, dword [0x10a78b80]
xor eax, esp
mov dword [esp + 0xb8], eax
mov edx, dword [esp + 0xc4]
mov eax, dword [esp + 0xcc]
push esi
mov dword [esp + 0x70], eax
mov esi, edx
shr esi, 0x18
mov eax, 0x280
and esi, 0xf
mov dword [esp + 0x64], 0
cmp dword [ecx + 0x5a4], 0
mov dword [esp + 0x78], ecx
cmovne eax, dword [esp + 0x64]
not eax
mov dword [esp + 0x4c], esi
and eax, edx
and eax, 0xf07ff
mov ecx, eax
and ecx, 0x280
neg ecx
push edi
mov edi, dword [esp + 0xc8]
sbb ecx, ecx
and ecx, 0x280
or ecx, eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x58], ecx
test eax, eax
jne 0x104be135
xor esi, esi
jmp 0x104be13a
shl esi, 4
add esi, eax
mov eax, ecx
mov dword [esp + 0xbc], 0
and eax, 3
cmp eax, 3
je 0x104be165
mov eax, ecx
and eax, 0xc
cmp eax, 0xc
je 0x104be165
and ecx, 0x30
cmp ecx, 0x30
jne 0x104be34a
test esi, esi
je 0x104be34a
mov eax, dword [esp + 0x7c]
cmp byte [eax + 0x635], 0
je 0x104be34a
push 4
lea eax, [esp + 0x5c]
mov byte [esp + 0x87], 1
push eax
lea ecx, [esp + 0xa8]
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov byte [esp + 0xb4], 0
call fcn.105093d0
push 4
lea eax, [esp + 0x54]
push eax
lea ecx, [esp + 0xa8]
call fcn.105093d0
push 4
lea eax, [esp + 0xd4]
push eax
lea ecx, [esp + 0xa8]
call fcn.105093d0
lea ecx, [esp + 0xa0]
call fcn.10509840
mov dword [esp + 0x74], eax
lea ecx, [esp + 0xb8]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x7c]
push ecx
add eax, 0x1edef8
mov dword [esp + 0xc0], 0
lea ecx, [esp + 0x6c]
mov dword [esp + 0x7c], eax
push ecx
mov ecx, eax
call fcn.104b86b0
mov eax, dword [esp + 0x68]
test eax, eax
je 0x104be241
mov eax, dword [eax + 8]
mov dword [esp + 0x68], eax
jmp 0x104be249
mov dword [esp + 0x68], 0
push 0x10
push esi
lea ecx, [esp + 0xb8]
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov byte [esp + 0xc4], 0
call fcn.105093d0
lea ecx, [esp + 0xb0]
call fcn.10509840
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x70], eax
mov dword [esp + 0xbc], 0
mov dword [esp + 0xb8], ecx
cmp eax, dword [esp + 0x68]
jne 0x104be2dd
mov eax, dword [esp + 0x7c]
lea ecx, [esp + 0xb8]
push ecx
add eax, 0x1edee8
lea ecx, [esp + 0x6c]
push ecx
mov ecx, eax
mov dword [esp + 0x80], eax
call fcn.104b8730
mov eax, dword [esp + 0x68]
test eax, eax
je 0x104be419
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
jmp 0x104be433
mov ecx, dword [esp + 0x78]
lea eax, [esp + 0xb8]
push eax
lea eax, [esp + 0x6c]
push eax
call fcn.104b86b0
mov eax, dword [esp + 0x68]
test eax, eax
je 0x104be309
push ecx
mov ecx, esp
mov dword [ecx], eax
mov ecx, dword [esp + 0x7c]
call fcn.104b7dd0
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x64], eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0xbc]
mov dword [esp + 0x64], 0
push eax
call fcn.104ce000
mov eax, dword [esp + 0x7c]
lea ecx, [eax + 0x1edee8]
mov dword [esp + 0x78], ecx
jmp 0x104be43c
push 4
lea eax, [esp + 0x5c]
mov byte [esp + 0x87], 0
push eax
lea ecx, [esp + 0xa8]
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov byte [esp + 0xb4], 0
call fcn.105093d0
push 4
lea eax, [esp + 0x74]
mov dword [esp + 0x74], 0xffffffff
push eax
lea ecx, [esp + 0xa8]
call fcn.105093d0
push 4
lea eax, [esp + 0x74]
mov dword [esp + 0x74], 0
push eax
lea ecx, [esp + 0xa8]
call fcn.105093d0
lea ecx, [esp + 0xa0]
call fcn.10509840
mov dword [esp + 0x74], eax
lea ecx, [esp + 0xb8]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x7c]
push ecx
add eax, 0x1edee8
mov dword [esp + 0xc0], 0
lea ecx, [esp + 0x74]
mov dword [esp + 0x7c], eax
push ecx
mov ecx, eax
call fcn.104b8730
mov eax, dword [esp + 0x70]
test eax, eax
je 0x104be419
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
jmp 0x104be433
xorps xmm0, xmm0
movlpd qword [esp + 0xb8], xmm0
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0xb8]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [edi], ecx
cmp dword [edi], 0
jne 0x104be71f
cmp dword [edi + 4], 0
jne 0x104be71f
movss xmm1, dword [eax + 0x254]
xorps xmm0, xmm0
mov ecx, dword [esp + 0x58]
minss xmm0, xmm1
mov eax, ecx
xorps xmm1, xmmword [0x10720960]
shr eax, 8
mov edx, ecx
not eax
shr edx, 0x10
and eax, 1
mov dword [esp + 8], 0x1f
mov dword [esp + 0x14], eax
maxss xmm0, xmm1
mov eax, ecx
mov dword [esp + 0xc], 0
shr eax, 6
not eax
mov dword [esp + 0x10], 0
and eax, 1
mov dword [esp + 0x40], 0
mov dword [esp + 0x18], eax
mov eax, ecx
shr eax, 0xa
not eax
movss dword [esp + 0x2c], xmm0
and eax, 1
mov dword [esp + 0x44], 0x447a0000
mov dword [esp + 0x1c], eax
mov eax, ecx
and eax, 3
mov dword [esp + 0x48], 2
mov dword [esp + 0x4c], 0
mov eax, dword [eax*4 + 0x10a382a4]
mov dword [esp + 0x20], eax
mov eax, ecx
shr eax, 2
and eax, 3
mov eax, dword [eax*4 + 0x10a382a4]
mov dword [esp + 0x24], eax
mov eax, ecx
shr eax, 4
and ecx, 0x280
and eax, 3
neg ecx
sbb ecx, ecx
neg ecx
mov eax, dword [eax*4 + 0x10a382a4]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x30], ecx
movss xmm0, dword [eax + 0x1f5f34]
xor eax, eax
and edx, 0xf
movss dword [esp + 0x34], xmm0
setne al
cmp byte [esp + 0x83], 0
mov dword [esp + 0x38], eax
mov eax, dword [edx*4 + 0x10a38254]
mov dword [esp + 0x3c], eax
je 0x104be59d
mov eax, dword [esp + 0xd0]
push 0x10
mov dword [esp + 0xa0], eax
lea eax, [esp + 0x90]
push esi
push eax
mov dword [esp + 0x90], 0x3b9f2b18
mov dword [esp + 0x94], 0
call fcn.1050a090
lea eax, [esp + 0x90]
mov dword [esp + 0x54], 0x3b9f2b1b
add esp, 0xc
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x7c]
lea ecx, [esp + 8]
push edi
push dword [eax + 4]
push ecx
push dword [eax + 0x1904]
call dword [0x10ac2d54]
mov eax, dword [edi]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x7c], eax
mov eax, dword [edi + 4]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x64], eax
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x74]
mov dword [esp + 0x6c], 0
push eax
call fcn.104b8730
mov esi, dword [esp + 0x70]
test esi, esi
je 0x104be6d5
mov ecx, dword [esi + 8]
mov eax, dword [esi + 0xc]
test ecx, ecx
jne 0x104be603
test eax, eax
je 0x104be626
push 0x15
push eax
push ecx
mov ecx, dword [0x10b23318]
lea ecx, [ecx + 0xe50]
call fcn.104d5120
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov ecx, dword [esp + 0x78]
lea edx, [esp + 0x54]
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 8]
sub ecx, eax
mov dword [esp + 0x68], eax
mov eax, dword [esi]
sar ecx, 2
mov dword [esp + 0x70], ecx
xor ecx, ecx
mov dword [esp + 0x54], eax
nop dword [eax]
movsx eax, byte [edx]
inc edx
imul ecx, ecx, 0x1003f
add ecx, eax
lea eax, [esp + 0x58]
cmp edx, eax
jne 0x104be650
mov eax, dword [esp + 0x70]
mov edx, dword [esi + 0x10]
add eax, 0xfffffffe
and eax, ecx
mov ecx, dword [esp + 0x68]
cmp dword [ecx + eax*4], esi
jne 0x104be68d
nop dword [eax]
mov dword [ecx + eax*4], edx
test eax, eax
je 0x104be68d
dec eax
cmp dword [ecx + eax*4], esi
je 0x104be680
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x104be69a
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x10], eax
test edx, edx
je 0x104be6a4
mov eax, dword [esi + 0x14]
mov dword [edx + 0x14], eax
push 0x40
lea eax, [esp + 0x70]
push str.F:_vcpkg_2024.05.24_buildtrees_bgfx_src_bgfx_296104bfea.clean_bgfx_src_bgfx.cpp
push eax
call fcn.105096b0
mov ecx, dword [0x10ac2e7c]
add esp, 0xc
push dword [eax + 4]
mov edx, dword [ecx]
push dword [eax]
push 0
push 0
push esi
call dword [edx + 4]
mov eax, dword [esp + 0x78]
dec dword [eax]
jmp 0x104be6d9
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0xa0], ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0xa8], ecx
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0xac], ecx
lea ecx, [esp + 0xa0]
push ecx
lea ecx, [esp + 0xbc]
mov dword [esp + 0xa8], 0
push ecx
mov ecx, eax
call fcn.104ce200
mov ecx, dword [esp + 0xc0]
mov eax, edi
pop edi
pop esi
xor ecx, esp
call fcn.105116c0
add esp, 0xbc
ret 0x10