Function at 0x462cc0
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 esi, dword [ebp + 0x10]
mov edi, dword [ebp + 0xc]
push 0
push 1
push 0x566a6f
push esi
push edi
call fcn.004af210
add esp, 0x14
mov ebx, eax
test al, al
jne 0x46318c
xor eax, eax
inc eax
mov dword [esp + 0x30], eax
push 0
push 1
push 0x566a6d
push esi
push edi
call fcn.004af210
add esp, 0x14
test al, al
jne 0x463172
mov eax, dword [ebp + 8]
cmp esi, 3
je 0x462dcc
cmp esi, 1
je 0x46319e
test esi, esi
je 0x462eee
cvtsi2sd xmm0, dword [esp + 0x30]
movsd qword [esp + 0x48], xmm0
xor ecx, ecx
xor ebx, ebx
mov dword [esp + 8], ecx
mov dword [esp + 0x2c], ebx
lea eax, [edi + esi]
mov dword [esp + 0xc], eax
mov dword [esp + 4], esi
lea eax, [esi - 1]
mov dword [esp + 0x10], eax
xor esi, esi
mov ecx, edi
xor edi, edi
xor edx, edx
mov dword [esp], ecx
movsx ebx, byte [ecx + esi]
mov eax, ebx
add al, 0xc6
cmp al, 0xf6
jb 0x462df0
mov eax, 0xcccccccc
cmp eax, edi
mov eax, 0xccccccc
sbb eax, edx
jl 0x462eeb
mov eax, edi
mov edi, edx
mov edx, 0xa
mul edx
add ebx, 0xffffffd0
lea edi, [edi + edi*4]
lea ecx, [edx + edi*2]
mov edx, ebx
xor edi, edi
dec edi
xor edx, edi
mov edi, eax
cmp edx, eax
mov eax, SysReAllocString
sbb eax, ecx
jl 0x462eeb
mov edx, ecx
add edi, ebx
adc edx, 0
inc esi
dec dword [esp + 0x10]
cmp dword [esp + 4], esi
mov ecx, dword [esp]
jne 0x462d66
jmp 0x46320f
movzx edx, word [edi]
xor dx, word [0x566fb8]
mov cl, byte [edi + 2]
xor cl, byte [0x566fba]
movzx ecx, cl
or cx, dx
jne 0x462d31
jmp 0x4633b2
add ecx, esi
mov eax, esi
mov esi, ecx
cmp bl, 0x2e
je 0x463095
test eax, eax
je 0x462eeb
sub dword [esp + 4], eax
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
xor eax, eax
inc eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0xc], esi
mov dword [esp + 0x1c], edx
mov dword [esp + 0x10], 2
push 0
push 2
push 0x5679ac
mov esi, dword [esp + 0x10]
push esi
mov ebx, dword [esp + 0x1c]
push ebx
call fcn.004af210
add esp, 0x14
test al, al
jne 0x462f1b
push 0
push 2
push 0x5679af
push esi
push ebx
call fcn.004af210
add esp, 0x14
test al, al
jne 0x462f14
push 0
push 2
push 0x5679b2
push esi
push ebx
call fcn.004af210
add esp, 0x14
test al, al
jne 0x462f0d
push 0
push 1
push 0x566a5d
push esi
push ebx
call fcn.004af210
add esp, 0x14
test al, al
jne 0x462f22
push 0
push 1
push 0x566a61
push esi
push ebx
call fcn.004af210
add esp, 0x14
test al, al
jne 0x462f06
push 0
push 1
push str.hslmdz
push esi
push ebx
call fcn.004af210
add esp, 0x14
test al, al
jne 0x462eff
push 0
push 1
push 0x566a63
push esi
push ebx
call fcn.004af210
add esp, 0x14
test al, al
jne 0x462ef8
mov eax, dword [ebp + 8]
mov byte [eax], 0
xor ecx, ecx
jmp 0x46308a
mov eax, 0x576e98
jmp 0x462f27
mov eax, 0x576e88
jmp 0x462f27
mov eax, 0x576e78
jmp 0x462f27
mov eax, 0x576e58
jmp 0x462f2e
mov eax, 0x576e48
jmp 0x462f2e
mov eax, 0x576e38
jmp 0x462f2e
mov eax, 0x576e68
xor ecx, ecx
inc ecx
mov dword [esp + 0x10], ecx
sub esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
jb 0x46317d
mov dword [esp + 4], esi
mov edx, dword [eax + 8]
mov dword [esp + 0x28], edx
mov eax, dword [eax + 0xc]
mov dword [esp + 0x34], eax
mov eax, edi
or eax, ecx
je 0x4631f7
mov esi, ecx
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 + 0x28]
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 + 0x1c], ecx
mov eax, ecx
shr eax, 0x1f
cmp eax, dword [esp]
mov ecx, 0
sbb ecx, esi
jae 0x462fe5
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.0050d390
cmp eax, ebx
sbb edx, edi
jb 0x46323b
imul ebx, esi
mov eax, dword [esp + 0x40]
add eax, ebx
imul edi, dword [esp]
add edi, eax
mov edx, dword [esp + 0x44]
mov ecx, edx
neg ecx
mov eax, 0
sbb eax, edi
cmp dword [esp + 0x1c], 0
cmovns eax, edi
mov edi, eax
cmovns ecx, edx
xor edx, edx
dec edx
add edx, ecx
mov esi, SysReAllocString
adc esi, edi
add edx, 2
adc esi, 0
cmp edx, 2
sbb esi, 0
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x2c]
jb 0x4631b3
mov esi, dword [esp + 8]
add esi, ecx
adc ebx, edi
seto dl
mov ecx, ebx
sar ecx, 0x1f
lea edi, [ecx - 0x80000000]
test dl, dl
cmove ecx, esi
test dl, dl
cmove edi, ebx
mov dword [esp], edi
mov esi, dword [esp + 4]
mov ebx, dword [esp + 0x24]
mov edx, ebx
mov edi, dword [esp + 0x20]
or edx, edi
jne 0x463260
mov ebx, dword [esp]
add eax, dword [esp + 0x10]
mov edi, eax
test esi, esi
jne 0x462d41
mov eax, dword [ebp + 8]
mov dword [eax], ecx
mov dword [eax + 4], ebx
mov cl, 1
mov byte [eax + 8], cl
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0x28], eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x24], 0
xor eax, eax
inc eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], 0
mov dword [esp + 0x14], 0
jmp 0x463106
mov eax, dword [esp + 0x24]
mov ecx, 0xa
mul ecx
mov ecx, ebx
add ecx, 0xffffffd0
mov ebx, dword [esp + 0x20]
add ebx, ebx
add eax, ecx
mov dword [esp + 0x24], eax
lea ebx, [ebx + ebx*4]
adc ebx, edx
mov dword [esp + 0x20], ebx
mov eax, dword [esp + 0x18]
mov ecx, 0xa
mul ecx
mov ebx, dword [esp + 0x14]
lea ebx, [ebx + ebx*4]
lea edx, [edx + ebx*2]
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
cmp byte [esp], 0xf5
jbe 0x46314d
mov eax, dword [esp + 0x10]
mov dword [esp + 4], eax
sub eax, 1
mov dword [esp + 0x10], eax
jb 0x463149
mov eax, esi
inc eax
mov esi, eax
movzx eax, byte [eax]
mov ebx, eax
add al, 0xc6
mov byte [esp], al
cmp al, 0xf6
setb al
mov edx, 0xcccccccc
cmp edx, dword [esp + 0x18]
mov edx, 0xccccccc
sbb edx, dword [esp + 0x14]
setl dl
or dl, al
jne 0x463100
jmp 0x4630be
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
xor eax, 1
or eax, dword [esp + 0x14]
or dword [esp + 0x28], eax
mov dword [esp + 0xc], esi
mov edx, dword [esp + 0x1c]
jne 0x462e2e
jmp 0x462eeb
int3
test esi, esi
je 0x46317d
inc edi
dec esi
jmp 0x462d14
push str....._third_partylibc_srcinclude_string_view:422:_assertion___n___size___failed:_remove_prefix___cant_remove_more_than_size___n
push 0x565ab5
call fcn.0051c8d0
test esi, esi
je 0x46317d
inc edi
dec esi
xor eax, eax
dec eax
mov dword [esp + 0x30], eax
jmp 0x462d14
cmp byte [edi], 0x30
jne 0x462d31
xor ecx, ecx
mov dword [eax + 4], ecx
mov dword [eax], ecx
jmp 0x463088
mov dword [esp], edi
xor edx, edx
dec edx
add edx, dword [esp + 8]
mov esi, SysReAllocString
adc esi, ebx
add edx, 2
adc esi, 0
xor edi, edi
xor ebx, ebx
inc ebx
cmp ebx, edx
sbb edi, esi
jb 0x463202
mov edx, dword [esp + 8]
xor edx, ecx
mov eax, dword [esp + 0x2c]
xor eax, dword [esp]
or eax, edx
mov esi, dword [esp + 4]
mov eax, dword [esp + 0xc]
je 0x46305d
jmp 0x46316f
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
mov esi, dword [esp + 4]
mov eax, dword [esp + 0xc]
jmp 0x46305d
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
xor eax, eax
inc eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], 0
mov dword [esp + 4], 0
jmp 0x462e2e
xor eax, eax
dec eax
mov ecx, eax
add ecx, 1
mov edi, SysReAllocString
adc edi, 0
cmp dword [esp + 0x1c], 0
cmovns ecx, eax
mov eax, SysReAllocString
cmovns edi, eax
jmp 0x463010
movd xmm0, ebx
movd xmm1, edi
movss xmm2, dword [esp + 0x18]
movss xmm3, dword [esp + 0x14]
punpckldq xmm0, xmm1
movq qword [esp + 0x78], xmm0
fild qword [esp + 0x78]
fstp qword [esp + 0x70]
movsd xmm0, qword [esp + 0x70]
mulsd xmm0, qword [esp + 0x48]
unpcklps xmm2, xmm3
movlps qword [esp + 0x68], xmm2
fild qword [esp + 0x68]
fstp qword [esp + 0x60]
divsd xmm0, qword [esp + 0x60]
movss xmm1, dword [esp + 0x28]
movss xmm2, dword [esp + 0x34]
unpcklps xmm1, xmm2
movlps qword [esp + 0x58], xmm1
fild qword [esp + 0x58]
fstp qword [esp + 0x50]
mulsd xmm0, qword [esp + 0x50]
xor ebx, ebx
movsd xmm1, qword [0x569100]
ucomisd xmm0, xmm1
mov eax, 0xffffffff
cmovb eax, ebx
mov dword [esp + 8], eax
mov eax, SysReAllocString
cmovae ebx, eax
movsd xmm2, qword [0x569108]
ucomisd xmm2, xmm0
maxsd xmm0, xmm1
movsd qword [esp + 0x38], xmm0
fld qword [esp + 0x38]
fisttp qword [esp + 0x38]
jb 0x463318
mov ebx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
mov dword [esp + 8], eax
xor edx, edx
dec edx
add edx, dword [esp + 8]
mov esi, SysReAllocString
adc esi, ebx
add edx, 2
adc esi, 0
cmp edx, 2
sbb esi, 0
jb 0x463364
add ecx, dword [esp + 8]
mov esi, dword [esp]
adc esi, ebx
seto dl
mov eax, esi
sar eax, 0x1f
lea ebx, [eax - 0x80000000]
test dl, dl
cmove eax, ecx
mov ecx, eax
test dl, dl
cmove ebx, esi
mov esi, dword [esp + 4]
mov eax, dword [esp + 0xc]
jmp 0x463072
xor edx, edx
dec edx
add edx, ecx
mov esi, SysReAllocString
mov eax, dword [esp]
adc esi, eax
add edx, 2
adc esi, 0
xor ecx, dword [esp + 8]
xor eax, ebx
or eax, ecx
jne 0x463394
mov esi, dword [esp + 4]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
jmp 0x463072
xor eax, eax
xor ecx, ecx
inc ecx
cmp ecx, edx
sbb eax, esi
mov esi, dword [esp + 4]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
jb 0x463072
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
mov dword [eax + 4], ecx
jmp 0x463088