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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x88
mov edi, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
push 0
push 1
push 0x55fadf
push edi
push esi
call fcn.004ae890
add esp, 0x14
mov ebx, eax
test al, al
jne 0x461b74
xor eax, eax
inc eax
mov dword [esp + 0x30], eax
push 0
push 1
push 0x55fadd
push edi
push esi
call fcn.004ae890
add esp, 0x14
test al, al
jne 0x461b58
mov eax, dword [ebp + 8]
cmp edi, 3
je 0x4617b2
cmp edi, 1
je 0x461b88
test edi, edi
je 0x4618d4
cvtsi2sd xmm0, dword [esp + 0x30]
movsd qword [esp + 0x48], xmm0
xor ebx, ebx
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x14], ebx
lea eax, [esi + edi]
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], edi
lea eax, [edi - 1]
mov dword [esp], eax
xor ecx, ecx
xor edi, edi
xor edx, edx
mov dword [esp + 8], esi
movsx ebx, byte [esi + ecx]
mov eax, ebx
add al, 0xc6
cmp al, 0xf6
jb 0x4617d6
mov eax, 0xcccccccc
cmp eax, edi
mov eax, 0xccccccc
sbb eax, edx
jl 0x4618d1
mov eax, edi
mov edi, edx
mov edx, 0xa
mul edx
add ebx, 0xffffffd0
lea edi, [edi + edi*4]
mov esi, ecx
lea ecx, [edx + edi*2]
mov edx, ebx
xor edi, edi
dec edi
xor edx, edi
mov edi, eax
cmp edx, eax
mov edx, ecx
mov eax, SysReAllocString
sbb eax, ecx
jl 0x4618d1
mov ecx, esi
add edi, ebx
adc edx, 0
inc ecx
dec dword [esp]
cmp dword [esp + 0x10], ecx
mov esi, dword [esp + 8]
jne 0x461744
jmp 0x461bb4
movzx edx, word [esi]
xor dx, word [0x560078]
mov cl, byte [esi + 2]
xor cl, byte [0x56007a]
movzx ecx, cl
or cx, dx
jne 0x461711
jmp 0x461dd5
add esi, ecx
mov dword [esp + 8], esi
cmp bl, 0x2e
je 0x461a7d
test ecx, ecx
je 0x4618d1
sub dword [esp + 0x10], ecx
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
xor eax, eax
inc eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], 0
mov dword [esp + 4], edx
mov dword [esp + 0x18], 2
push 0
push 2
push 0x560a6c
mov ebx, dword [esp + 0x1c]
push ebx
mov esi, dword [esp + 0x18]
push esi
call fcn.004ae890
add esp, 0x14
test al, al
jne 0x461901
push 0
push 2
push 0x560a6f
push ebx
push esi
call fcn.004ae890
add esp, 0x14
test al, al
jne 0x4618f3
push 0
push 2
push 0x560a72
push ebx
push esi
call fcn.004ae890
add esp, 0x14
test al, al
jne 0x4618fa
push 0
push 1
push 0x55facd
push ebx
push esi
call fcn.004ae890
add esp, 0x14
test al, al
jne 0x461908
push 0
push 1
push 0x55fad1
push ebx
push esi
call fcn.004ae890
add esp, 0x14
test al, al
jne 0x4618e5
push 0
push 1
push str.hslmdz
push ebx
push esi
call fcn.004ae890
add esp, 0x14
test al, al
jne 0x4618ec
push 0
push 1
push 0x55fad3
push ebx
push esi
call fcn.004ae890
add esp, 0x14
test al, al
jne 0x4618de
mov eax, dword [ebp + 8]
mov byte [eax], 0
xor ecx, ecx
jmp 0x461a72
mov eax, 0x56fc40
jmp 0x46190d
mov eax, 0x56fc20
jmp 0x46190d
mov eax, 0x56fc30
jmp 0x46190d
mov eax, 0x56fbf0
jmp 0x461914
mov eax, 0x56fc00
jmp 0x461914
mov eax, 0x56fbe0
jmp 0x461914
mov eax, 0x56fc10
xor ecx, ecx
inc ecx
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x18]
sub dword [esp + 0x10], ecx
mov esi, dword [esp + 4]
jb 0x461b65
mov ecx, dword [eax + 8]
mov dword [esp + 0x2c], ecx
mov eax, dword [eax + 0xc]
mov dword [esp + 0x34], eax
mov eax, edi
or eax, esi
je 0x461b9d
mov ebx, dword [esp + 0x30]
mov ecx, ebx
sar ecx, 0x1f
mov eax, edi
mul ebx
mov dword [esp], eax
imul ecx, edi
imul esi, ebx
add esi, edx
add esi, ecx
mov ecx, dword [esp + 0x34]
mov eax, ecx
sar eax, 0x1f
mov edi, ecx
xor edi, eax
mov ebx, dword [esp + 0x2c]
xor ebx, eax
sub ebx, eax
sbb edi, eax
mov eax, esi
sar eax, 0x1f
xor ecx, esi
xor esi, eax
mov edx, dword [esp]
xor edx, eax
sub edx, eax
mov dword [esp], edx
sbb esi, eax
mov eax, ebx
mul dword [esp]
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], edx
mov dword [esp + 4], ecx
mov eax, ecx
shr eax, 0x1f
cmp eax, dword [esp]
mov ecx, 0
sbb ecx, esi
jae 0x4619c9
xor ecx, ecx
dec ecx
add eax, ecx
mov ecx, SysReAllocString
adc ecx, 0
push esi
push dword [esp + 4]
push ecx
push eax
call fcn.00507650
cmp eax, ebx
sbb edx, edi
jb 0x461c33
imul ebx, esi
mov eax, dword [esp + 0x40]
add eax, ebx
imul edi, dword [esp]
add edi, eax
mov eax, dword [esp + 0x44]
mov ebx, eax
neg ebx
mov ecx, 0
sbb ecx, edi
cmp dword [esp + 4], 0
cmovns ecx, edi
cmovns ebx, eax
xor edx, edx
dec edx
add edx, ebx
mov esi, SysReAllocString
adc esi, ecx
add edx, 2
adc esi, 0
cmp edx, 2
sbb esi, 0
mov eax, dword [ebp + 8]
mov esi, dword [esp + 0x14]
jb 0x461be8
add esi, ebx
mov edi, dword [esp + 0xc]
adc edi, ecx
seto dl
mov ebx, edi
sar ebx, 0x1f
lea ecx, [ebx - 0x80000000]
test dl, dl
cmove ebx, esi
mov dword [esp + 4], ebx
test dl, dl
cmove ecx, edi
mov dword [esp], ecx
mov esi, dword [esp + 8]
mov ebx, dword [esp + 0x28]
mov edx, ebx
mov ecx, dword [esp + 0x24]
or edx, ecx
jne 0x461c58
mov ebx, dword [esp + 4]
mov ecx, dword [esp]
mov edi, dword [esp + 0x10]
add esi, dword [esp + 0x18]
test edi, edi
jne 0x461721
mov dword [eax], ebx
mov dword [eax + 4], ecx
mov cl, 1
mov byte [eax + 8], cl
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0x2c], ecx
mov dword [esp + 4], edx
mov dword [esp + 0x28], 0
xor eax, eax
inc eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 0
mov dword [esp + 0x1c], 0
jmp 0x461aeb
mov eax, dword [esp + 0x28]
mov edx, 0xa
mul edx
add ebx, 0xffffffd0
mov esi, dword [esp + 0x24]
add esi, esi
add eax, ebx
mov dword [esp + 0x28], eax
lea esi, [esi + esi*4]
adc esi, edx
mov dword [esp + 0x24], esi
mov eax, dword [esp + 0x20]
mov edx, 0xa
mul edx
mov esi, dword [esp + 0x1c]
lea ebx, [esi + esi*4]
lea edx, [edx + ebx*2]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
cmp cl, 0xf5
jbe 0x461b2e
mov eax, dword [esp]
mov dword [esp + 0x10], eax
sub eax, 1
mov dword [esp], eax
jb 0x461b26
mov eax, dword [esp + 8]
inc eax
mov dword [esp + 8], eax
movzx ebx, byte [eax]
mov eax, ebx
add al, 0xc6
mov ecx, eax
cmp al, 0xf6
jb 0x461ae6
mov eax, 0xcccccccc
cmp eax, dword [esp + 0x20]
mov eax, 0xccccccc
sbb eax, dword [esp + 0x1c]
jge 0x461aa6
jmp 0x461ae6
mov eax, dword [esp + 0x18]
mov dword [esp + 8], eax
cmp dword [esp + 0x2c], 0
jne 0x461b4f
mov eax, dword [esp + 0x20]
xor eax, 1
or eax, dword [esp + 0x1c]
mov edx, dword [esp + 4]
jne 0x461810
jmp 0x4618d1
mov edx, dword [esp + 4]
jmp 0x461810
test edi, edi
je 0x461b65
mov eax, edi
inc esi
dec edi
jmp 0x4616f4
push str....._third_partylibc_srcinclude_string_view:418:_assertion___n___size___failed:_remove_prefix___cant_remove_more_than_size___n
push 0x55eb93
call fcn.00516c70
test edi, edi
je 0x461b65
mov eax, edi
inc esi
dec edi
xor eax, eax
dec eax
mov dword [esp + 0x30], eax
jmp 0x4616f4
cmp byte [esi], 0x30
jne 0x461711
xor ecx, ecx
mov dword [eax + 4], ecx
mov dword [eax], ecx
jmp 0x461a70
mov eax, dword [esp + 0x14]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc]
mov dword [esp], eax
mov eax, dword [ebp + 8]
jmp 0x461a3e
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
xor eax, eax
inc eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], 0
mov eax, dword [esp + 0x18]
mov dword [esp + 8], eax
mov dword [esp + 0x10], 0
jmp 0x461810
mov dword [esp + 4], ebx
mov dword [esp], ecx
xor edx, edx
dec edx
add edx, esi
mov esi, SysReAllocString
adc esi, dword [esp + 0xc]
add edx, 2
adc esi, 0
xor edi, edi
xor ebx, ebx
inc ebx
cmp ebx, edx
sbb edi, esi
jb 0x461a3e
mov eax, dword [esp + 0x14]
xor eax, dword [esp + 4]
mov edx, dword [esp + 0xc]
xor edx, dword [esp]
or edx, eax
mov eax, dword [ebp + 8]
mov esi, dword [esp + 8]
je 0x461a42
int3
xor eax, eax
dec eax
mov ebx, eax
add ebx, 1
mov ecx, SysReAllocString
adc ecx, 0
cmp dword [esp + 4], 0
cmovns ebx, eax
mov eax, SysReAllocString
cmovns ecx, eax
jmp 0x4619f2
movd xmm0, ebx
movd xmm1, ecx
movss xmm2, dword [esp + 0x20]
movss xmm3, dword [esp + 0x1c]
movss xmm4, dword [esp + 0x2c]
movss xmm5, dword [esp + 0x34]
punpckldq xmm0, xmm1
movq qword [esp + 0x78], xmm0
fild qword [esp + 0x78]
fstp qword [esp + 0x70]
unpcklps xmm2, xmm3
movsd xmm0, qword [esp + 0x70]
movlps qword [esp + 0x68], xmm2
mulsd xmm0, qword [esp + 0x48]
fild qword [esp + 0x68]
fstp qword [esp + 0x60]
divsd xmm0, qword [esp + 0x60]
unpcklps xmm4, xmm5
movlps qword [esp + 0x58], xmm4
fild qword [esp + 0x58]
fstp qword [esp + 0x50]
mulsd xmm0, qword [esp + 0x50]
movsd xmm1, qword [0x561d50]
ucomisd xmm1, xmm0
jb 0x461cf8
maxsd xmm0, qword [0x561d58]
movsd qword [esp + 0x38], xmm0
fld qword [esp + 0x38]
fisttp qword [esp + 0x38]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xc], eax
jmp 0x461d1f
xor edx, edx
ucomisd xmm0, qword [0x561d58]
mov esi, 0
mov eax, SysReAllocString
cmovae esi, eax
mov dword [esp + 0xc], esi
mov eax, 0xffffffff
cmovae edx, eax
mov dword [esp + 0x14], edx
xor edx, edx
dec edx
add edx, dword [esp + 0x14]
mov esi, SysReAllocString
adc esi, dword [esp + 0xc]
add edx, 2
adc esi, 0
cmp edx, 2
sbb esi, 0
jb 0x461d72
mov ecx, dword [esp + 4]
add ecx, dword [esp + 0x14]
mov esi, dword [esp]
adc esi, dword [esp + 0xc]
seto dl
mov ebx, esi
sar ebx, 0x1f
lea eax, [ebx - 0x80000000]
test dl, dl
cmove ebx, ecx
mov ecx, eax
test dl, dl
cmove ecx, esi
mov eax, dword [ebp + 8]
mov esi, dword [esp + 8]
jmp 0x461a5b
xor edx, edx
dec edx
add edx, dword [esp + 4]
mov esi, SysReAllocString
adc esi, dword [esp]
add edx, 2
adc esi, 0
xor edi, edi
xor ebx, ebx
inc ebx
cmp ebx, edx
sbb edi, esi
jae 0x461daa
mov eax, dword [ebp + 8]
mov esi, dword [esp + 8]
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
jmp 0x461a5f
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 4]
xor edx, ebx
mov eax, dword [esp + 0xc]
mov ecx, dword [esp]
xor ecx, eax
or ecx, edx
mov ecx, eax
mov eax, dword [ebp + 8]
mov esi, dword [esp + 8]
mov edi, dword [esp + 0x10]
je 0x461a5f
int3
xor esi, esi
xor ecx, ecx
dec ecx
mov edx, ecx
add edx, 1
adc esi, 0x7fffffff
test bl, bl
cmove edx, ecx
mov ecx, SysReAllocString
cmovne ecx, esi
mov dword [eax], edx
jmp 0x461a6d