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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x118
mov esi, dword [ebp + 0xc]
mov eax, dword [0x5c1040]
xor eax, ebp
mov dword [esp + 0x110], eax
mov eax, dword [esi + 0x10]
lea edi, [eax + 0x68]
mov ecx, dword [eax + 0x68]
cmp ecx, 0x1c
je 0x4c636c
lea ebx, [eax + 0x70]
mov edx, dword [eax + 0x70]
cmp edx, 0x1c
je 0x4c646e
mov dword [esp], edx
lea edx, [eax + 0x78]
mov esi, dword [eax + 0x78]
cmp esi, 0x1c
je 0x4c6367
mov dword [esp + 8], esi
mov dword [esp + 0x10], ebx
lea esi, [eax + 0x80]
mov ebx, dword [eax + 0x80]
cmp ebx, 0x1c
je 0x4c645d
mov dword [esp + 4], ebx
mov dword [esp + 0xc], edx
lea edx, [eax + 0x88]
mov ebx, dword [eax + 0x88]
cmp ebx, 0x1c
je 0x4c6367
mov dword [esp + 0xec], ebx
mov dword [esp + 0x14], esi
lea esi, [eax + 0x90]
mov ebx, dword [eax + 0x90]
cmp ebx, 0x1c
je 0x4c645d
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe8], edx
lea edx, [eax + 0x98]
mov ebx, dword [eax + 0x98]
cmp ebx, 0x1c
je 0x4c6367
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], esi
lea esi, [eax + 0xa0]
mov ebx, dword [eax + 0xa0]
cmp ebx, 0x1c
je 0x4c645d
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xd8], edx
lea edx, [eax + 0xa8]
mov ebx, dword [eax + 0xa8]
cmp ebx, 0x1c
je 0x4c6367
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xd0], esi
lea ebx, [eax + 0xb0]
mov esi, dword [eax + 0xb0]
cmp esi, 0x1c
je 0x4c6475
mov dword [esp + 0xc4], esi
mov dword [esp + 0xc8], edx
lea esi, [eax + 0xb8]
mov edx, dword [eax + 0xb8]
mov dword [esp + 0xc0], edx
cmp edx, 0x1c
je 0x4c645d
mov dword [esp + 0xbc], ebx
lea edx, [eax + 0xc0]
mov ebx, dword [eax + 0xc0]
cmp ebx, 0x1c
je 0x4c6367
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], esi
lea ebx, [eax + 0xc8]
mov esi, dword [eax + 0xc8]
mov dword [esp + 0xb0], esi
cmp esi, 0x1c
je 0x4c6475
mov dword [esp + 0xac], edx
mov dword [esp + 0xa8], ebx
lea ebx, [eax + 0xd0]
mov esi, dword [eax + 0xd0]
mov dword [esp + 0xa4], esi
cmp esi, 0x1c
je 0x4c6475
mov dword [esp + 0xa0], ebx
lea edx, [eax + 0xd8]
mov ebx, dword [eax + 0xd8]
mov dword [esp + 0x9c], ebx
cmp ebx, 0x1c
je 0x4c6367
mov dword [esp + 0x98], edx
lea edx, [eax + 0xe0]
mov ebx, dword [eax + 0xe0]
mov dword [esp + 0x94], ebx
cmp ebx, 0x1c
je 0x4c6367
mov dword [esp + 0x90], edx
lea edx, [eax + 0xe8]
mov ebx, dword [eax + 0xe8]
mov dword [esp + 0x8c], ebx
cmp ebx, 0x1c
je 0x4c6367
mov dword [esp + 0x88], edx
lea edx, [eax + 0xf0]
mov ebx, dword [eax + 0xf0]
mov dword [esp + 0x84], ebx
cmp ebx, 0x1c
je 0x4c6367
mov dword [esp + 0x80], edx
lea edx, [eax + 0xf8]
mov ebx, dword [eax + 0xf8]
mov dword [esp + 0x7c], ebx
cmp ebx, 0x1c
je 0x4c6367
mov dword [esp + 0x78], edx
lea edx, [eax + 0x100]
mov ebx, dword [eax + 0x100]
mov dword [esp + 0x74], ebx
cmp ebx, 0x1c
je 0x4c6367
mov dword [esp + 0x70], edx
lea edx, [eax + 0x108]
mov ebx, dword [eax + 0x108]
mov dword [esp + 0x6c], ebx
cmp ebx, 0x1c
je 0x4c6367
mov dword [esp + 0x68], edx
lea edx, [eax + 0x110]
mov ebx, dword [eax + 0x110]
mov dword [esp + 0x64], ebx
cmp ebx, 0x1c
je 0x4c6367
mov dword [esp + 0x60], edx
lea edx, [eax + 0x118]
mov ebx, dword [eax + 0x118]
mov dword [esp + 0x5c], ebx
cmp ebx, 0x1c
je 0x4c6367
mov dword [esp + 0x58], edx
lea edx, [eax + 0x120]
mov ebx, dword [eax + 0x120]
mov dword [esp + 0x54], ebx
cmp ebx, 0x1c
je 0x4c6367
mov dword [esp + 0x50], edx
lea edx, [eax + 0x128]
mov ebx, dword [eax + 0x128]
mov dword [esp + 0x4c], ebx
cmp ebx, 0x1c
je 0x4c6367
mov dword [esp + 0x48], edx
lea edx, [eax + 0x130]
mov ebx, dword [eax + 0x130]
mov dword [esp + 0x44], ebx
cmp ebx, 0x1c
je 0x4c6367
mov dword [esp + 0x40], edx
lea edx, [eax + 0x138]
mov ebx, dword [eax + 0x138]
mov dword [esp + 0x3c], ebx
cmp ebx, 0x1c
jne 0x4c6749
mov edi, edx
mov esi, dword [ebp + 0xc]
add edi, 4
mov ebx, edi
mov ebx, dword [ebx]
mov ecx, esi
push 0x5ac208
call fcn.0049cd00
mov edi, eax
test eax, eax
je 0x4c6948
add edi, 4
mov ecx, edi
push dword [ebp + 0x10]
call fcn.004dbaf0
mov dword [esp + 0xc], eax
test eax, eax
je 0x4c6a98
lea eax, [ebx + 4]
mov dword [esp], eax
mov eax, ebx
mov ebx, dword [ebx + 8]
mov dword [esp + 8], eax
mov eax, dword [eax + 0x10]
mov dword [esp + 0x10], eax
test ebx, ebx
je 0x4c64b5
mov ecx, ebx
shr ecx, 1
and ecx, 0x55555555
mov eax, ebx
sub eax, ecx
mov ecx, eax
and ecx, 0x33333333
shr eax, 2
and eax, 0x33333333
add eax, ecx
mov ecx, eax
shr ecx, 4
add ecx, eax
and ecx, 0xf0f0f0f
imul ecx, ecx, 0x1010101
shr ecx, 0x18
cmp ecx, 1
jbe 0x4c6464
mov edx, dword [ebp + 0x10]
mov edi, edx
cmp ebx, edx
ja 0x4c640f
mov eax, edx
xor edx, edx
div ebx
mov edi, edx
mov edx, dword [ebp + 0x10]
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax + edi*4]
test eax, eax
je 0x4c64b8
mov esi, dword [eax]
test esi, esi
je 0x4c6498
lea eax, [ebx - 1]
mov dword [esp + 4], eax
mov eax, dword [esi + 4]
cmp eax, edx
jne 0x4c647c
cmp dword [esi + 8], edx
jne 0x4c6492
mov eax, dword [esi + 0xc]
mov esi, dword [ebp + 8]
mov dword [esi], eax
mov al, 1
mov byte [esi + 4], al
mov ecx, dword [esp + 0x110]
xor ecx, ebp
call fcn.004f1eb0
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edi, esi
jmp 0x4c6369
lea edi, [ebx - 1]
mov edx, dword [ebp + 0x10]
and edi, edx
jmp 0x4c640f
mov edi, ebx
jmp 0x4c636c
mov edi, ebx
jmp 0x4c6369
cmp ecx, 1
jbe 0x4c649d
cmp eax, ebx
jb 0x4c648b
xor edx, edx
div ebx
mov eax, edx
mov edx, dword [ebp + 0x10]
cmp eax, edi
jne 0x4c6498
mov esi, dword [esi]
test esi, esi
jne 0x4c642c
mov esi, dword [ebp + 0xc]
jmp 0x4c64b8
and eax, dword [esp + 4]
jmp 0x4c648e
lea esi, [ebx - 1]
xor eax, eax
test ebx, esi
mov esi, dword [ebp + 0xc]
setne al
jmp 0x4c657a
xor edi, edi
dec edi
push 0x10
call fcn.004f190e
add esp, 4
test eax, eax
je 0x4c6aa5
mov edx, eax
mov ecx, dword [esp + 0x10]
inc ecx
mov eax, dword [ebp + 0x10]
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
movq xmm2, qword [0x59d020]
movd xmm0, ecx
por xmm0, xmm2
subsd xmm0, xmm2
cvtsd2ss xmm0, xmm0
mov eax, dword [esp + 8]
movss xmm1, dword [eax + 0x14]
test ebx, ebx
mov dword [esp + 0x10], ecx
mov dword [esp + 4], edx
je 0x4c652a
movd xmm3, ebx
por xmm3, xmm2
subsd xmm3, xmm2
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm3
mulss xmm2, xmm1
ucomiss xmm0, xmm2
jbe 0x4c65b5
divss xmm0, xmm1
cvtss2sd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
call fcn.0051fbd0
add esp, 8
fstp dword [esp + 0xf4]
movss xmm0, dword [esp + 0xf4]
cvttss2si eax, xmm0
mov edx, eax
sar edx, 0x1f
subss xmm0, dword [0x59dce0]
cvttss2si ecx, xmm0
and ecx, edx
or ecx, eax
lea edx, [ebx + ebx]
cmp ebx, 3
jae 0x4c64a3
xor eax, eax
inc eax
or eax, edx
cmp eax, ecx
cmovbe eax, ecx
mov edi, 2
cmp eax, 1
jne 0x4c6629
cmp edi, ebx
jbe 0x4c6aed
mov ecx, dword [esp]
push edi
call fcn.004c6ec0
mov eax, dword [esp + 8]
mov ebx, dword [eax + 8]
lea edi, [ebx - 1]
test ebx, edi
mov edx, dword [esp + 4]
jne 0x4c6612
and edi, dword [ebp + 0x10]
mov eax, dword [esp]
mov ecx, dword [eax]
mov eax, dword [ecx + edi*4]
test eax, eax
jne 0x4c664b
mov eax, edx
mov edx, dword [esp + 8]
lea esi, [edx + 0xc]
mov dword [esp + 0x14], esi
mov esi, dword [edx + 0xc]
mov dword [eax], esi
mov dword [edx + 0xc], eax
mov eax, esi
mov esi, dword [esp + 0x14]
mov dword [ecx + edi*4], esi
mov esi, dword [ebp + 0xc]
test eax, eax
je 0x4c6655
mov edi, dword [esp + 4]
mov eax, dword [eax + 4]
lea ecx, [ebx - 1]
test ebx, ecx
je 0x4c6ad8
cmp eax, ebx
jb 0x4c6606
xor edx, edx
div ebx
mov eax, edx
shl eax, 2
mov ecx, dword [esp]
add eax, dword [ecx]
mov edx, edi
jmp 0x4c664f
mov eax, dword [ebp + 0x10]
cmp ebx, eax
ja 0x4c6ae6
xor edx, edx
div ebx
mov edi, edx
mov edx, dword [esp + 4]
jmp 0x4c65b5
lea ecx, [eax - 1]
test eax, ecx
je 0x4c6adf
push eax
call fcn.004a6880
add esp, 4
mov edi, eax
mov eax, dword [esp + 8]
mov ebx, dword [eax + 8]
jmp 0x4c658f
mov ecx, dword [eax]
mov dword [edx], ecx
mov dword [eax], edx
mov edx, dword [esp + 8]
inc dword [edx + 0x10]
push dword [esi + 0x10]
call fcn.004c59e0
add esp, 4
mov edi, eax
mov eax, dword [eax + 8]
mov ecx, dword [edi + 0xc]
mov dword [esp], ecx
test eax, eax
je 0x4c66ca
mov ecx, dword [esp + 0xc]
mov ebx, eax
cmp dword [eax + 0x10], ecx
ja 0x4c6ac7
mov esi, dword [ebp + 0xc]
jb 0x4c6ab4
mov ebx, dword [ebx + 0x14]
call fcn.004ec460
mov edx, dword [ebp + 0x10]
sub edx, eax
xor eax, eax
lea ecx, [esp + 0xf8]
mov dword [ecx + 4], eax
mov dword [ecx], ebx
mov dword [ecx + 0xc], eax
mov dword [ecx + 8], edx
mov eax, dword [esi + 0x10]
add eax, 0x48
push ecx
mov edi, dword [esp + 0x14]
push edi
push eax
call fcn.004c6be0
add esp, 0xc
mov esi, dword [ebp + 8]
mov dword [esi], edi
jmp 0x4c6440
lea esi, [edi + 8]
mov ebx, esi
push 0x18
call fcn.004f190e
add esp, 4
cmp eax, 0xfffffff0
je 0x4c6aa5
mov edx, dword [esp]
inc edx
mov ecx, dword [esp + 0xc]
mov dword [eax + 0x10], ecx
mov dword [esp], edx
mov dword [eax + 0x14], edx
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [esi], eax
mov ecx, dword [edi + 4]
mov ecx, dword [ecx]
test ecx, ecx
je 0x4c670d
mov dword [edi + 4], ecx
mov eax, dword [esi]
push eax
push dword [edi + 8]
call fcn.0049a2a0
add esp, 8
inc dword [edi + 0xc]
mov edi, dword [esp + 0xc]
push edi
mov ebx, dword [esp + 4]
push ebx
mov esi, dword [ebp + 0xc]
push esi
call fcn.00465b10
mov ecx, edi
add esp, 0xc
jmp 0x4c668d
mov edi, eax
jmp 0x4c6369
mov edi, dword [esp + 0x18]
jmp 0x4c6369
mov dword [esp + 0x38], edx
lea edx, [eax + 0x140]
mov ebx, dword [eax + 0x140]
mov dword [esp + 0x34], ebx
cmp ebx, 0x1c
je 0x4c6367
mov dword [esp + 0x30], edx
lea edx, [eax + 0x148]
mov ebx, dword [eax + 0x148]
mov dword [esp + 0x2c], ebx
cmp ebx, 0x1c
je 0x4c6367
mov dword [esp + 0x28], edx
lea edx, [eax + 0x150]
mov ebx, dword [eax + 0x150]
mov dword [esp + 0x24], ebx
cmp ebx, 0x1c
je 0x4c6367
mov dword [esp + 0x20], edx
lea ebx, [eax + 0x158]
mov dword [esp + 0x18], ebx
mov ebx, dword [eax + 0x158]
cmp ebx, 0x1c
je 0x4c6740
mov edx, dword [eax + 0x160]
add eax, 0x160
mov dword [esp + 0x1c], edx
cmp edx, 0x1c
je 0x4c6739
test ecx, ecx
je 0x4c690b
mov edi, dword [esp + 0x10]
cmp dword [esp], 0
je 0x4c690b
mov edi, dword [esp + 0xc]
cmp dword [esp + 8], 0
je 0x4c690b
mov edi, dword [esp + 0x14]
cmp dword [esp + 4], 0
je 0x4c690b
mov edi, dword [esp + 0xe8]
cmp dword [esp + 0xec], 0
je 0x4c690b
mov edi, dword [esp + 0xe0]
cmp dword [esp + 0xe4], 0
je 0x4c690b
mov edi, dword [esp + 0xd8]
cmp dword [esp + 0xdc], 0
je 0x4c690b
mov edi, dword [esp + 0xd0]
cmp dword [esp + 0xd4], 0
je 0x4c690b
mov edi, dword [esp + 0xc8]
cmp dword [esp + 0xcc], 0
je 0x4c690b
mov edi, dword [esp + 0xbc]
cmp dword [esp + 0xc4], 0
je 0x4c690b
mov edi, dword [esp + 0xb8]
cmp dword [esp + 0xc0], 0
je 0x4c690b
mov edi, dword [esp + 0xac]
cmp dword [esp + 0xb4], 0
je 0x4c690b
mov edi, dword [esp + 0xa8]
cmp dword [esp + 0xb0], 0
je 0x4c690b
mov edi, dword [esp + 0xa0]
cmp dword [esp + 0xa4], 0
je 0x4c690b
mov edi, dword [esp + 0x98]
cmp dword [esp + 0x9c], 0
je 0x4c690b
mov edi, dword [esp + 0x90]
cmp dword [esp + 0x94], 0
je 0x4c690b
mov edi, dword [esp + 0x88]
cmp dword [esp + 0x8c], 0
je 0x4c690b
mov edi, dword [esp + 0x80]
cmp dword [esp + 0x84], 0
jne 0x4c6989
mov dword [edi], 0x1c
lea ebx, [edi + 4]
push 0x18
call fcn.004f190e
add esp, 4
xorps xmm0, xmm0
movups xmmword [eax + 4], xmm0
mov dword [eax + 0x14], 0x3f800000
mov dword [eax], 0x598e50
mov esi, dword [edi + 4]
mov dword [edi + 4], eax
test esi, esi
jne 0x4c6bc5
mov esi, dword [ebp + 0xc]
jmp 0x4c6371
push 0x2c
call fcn.004f190e
add esp, 4
mov edi, eax
xorps xmm0, xmm0
movups xmmword [eax], xmm0
movups xmmword [eax + 0x10], xmm0
movups xmmword [eax + 0x1c], xmm0
mov dword [eax], fcn.00466de0
lea ecx, [eax + 4]
call fcn.0047e7e0
mov dword [esp + 0x10c], edi
mov ecx, esi
push edi
push 0x5ac208
call fcn.0041dc90
jmp 0x4c6389
mov edi, dword [esp + 0x78]
cmp dword [esp + 0x7c], 0
je 0x4c690b
mov edi, dword [esp + 0x70]
cmp dword [esp + 0x74], 0
je 0x4c690b
mov edi, dword [esp + 0x68]
cmp dword [esp + 0x6c], 0
je 0x4c690b
mov edi, dword [esp + 0x60]
cmp dword [esp + 0x64], 0
je 0x4c690b
mov edi, dword [esp + 0x58]
cmp dword [esp + 0x5c], 0
je 0x4c690b
mov edi, dword [esp + 0x50]
cmp dword [esp + 0x54], 0
je 0x4c690b
mov edi, dword [esp + 0x48]
cmp dword [esp + 0x4c], 0
je 0x4c690b
mov edi, dword [esp + 0x40]
cmp dword [esp + 0x44], 0
je 0x4c690b
mov edi, dword [esp + 0x38]
cmp dword [esp + 0x3c], 0
je 0x4c690b
mov edi, dword [esp + 0x30]
cmp dword [esp + 0x34], 0
je 0x4c690b
mov edi, dword [esp + 0x28]
cmp dword [esp + 0x2c], 0
je 0x4c690b
mov edi, dword [esp + 0x20]
cmp dword [esp + 0x24], 0
je 0x4c690b
mov edi, dword [esp + 0x18]
test ebx, ebx
je 0x4c690b
mov edi, eax
cmp dword [esp + 0x1c], 0
je 0x4c690b
call fcn.00502f61
push dword [eax]
call fcn.0050d46f
add esp, 4
mov esi, eax
call fcn.00502f61
mov edi, dword [eax]
push str....._third_partyperfettoincludeperfetto_tracing_track_event_interned_data_index.h
call fcn.005233f0
add esp, 4
push esi
push edi
push str.PERFETTO_CHECK_false_
push str._s__errno:__d___s_
push 0xfd
push eax
push 3
call fcn.00523600
add esp, 0x1c
int3
mov esi, dword [ebp + 8]
mov byte [esi], 0
xor eax, eax
jmp 0x4c6442
push str....._third_partylibc_srcinclude__memoryconstruct_at.h:40:_assertion___location___nullptr_failed:_null_pointer_given_to_construct_at_n
push 0x59a9a3
call fcn.00523170
mov eax, dword [ebx + 4]
test eax, eax
jne 0x4c6676
lea esi, [ebx + 4]
jmp 0x4c66cf
mov eax, dword [ebx]
mov esi, ebx
test eax, eax
jne 0x4c6676
jmp 0x4c66cf
and eax, ecx
jmp 0x4c6606
mov edi, eax
jmp 0x4c658f
mov edi, eax
jmp 0x4c6623
jae 0x4c65a0
mov eax, dword [esp + 8]
movss xmm0, dword [eax + 0x10]
orpd xmm0, xmmword [0x59d010]
subsd xmm0, qword [0x59d020]
cvtsd2ss xmm0, xmm0
divss xmm0, dword [eax + 0x14]
cvtss2sd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
call fcn.0051fbd0
add esp, 8
fstp dword [esp + 0xf0]
movss xmm0, dword [esp + 0xf0]
cvttss2si eax, xmm0
mov ecx, eax
subss xmm0, dword [0x59dce0]
cvttss2si edx, xmm0
sar ecx, 0x1f
and edx, ecx
or edx, eax
cmp ebx, 3
jb 0x4c6baa
mov ecx, ebx
shr ecx, 1
and ecx, 0x55555555
mov eax, ebx
sub eax, ecx
mov ecx, eax
and ecx, 0x33333333
shr eax, 2
and eax, 0x33333333
add eax, ecx
mov ecx, eax
shr ecx, 4
add ecx, eax
and ecx, 0xf0f0f0f
imul eax, ecx, 0x1010101
shr eax, 0x18
cmp eax, 1
ja 0x4c6baa
lea eax, [edx - 1]
bsr ecx, eax
xor ecx, 0x1f
neg cl
xor eax, eax
inc eax
shl eax, cl
cmp edx, 2
cmovb eax, edx
jmp 0x4c6bb3
push edx
call fcn.004a6880
add esp, 4
cmp edi, eax
cmovbe edi, eax
cmp edi, ebx
jb 0x4c6597
jmp 0x4c65a0
mov eax, dword [esi]
mov edi, dword [eax]
mov ecx, edi
call dword [0x5bb424]
mov ecx, esi
push 1
call edi
jmp 0x4c6940