Function at 0x448d90
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 0x59cacf
push edi
push esi
call fcn.004b4610
add esp, 0x14
mov ebx, eax
test al, al
jne 0x449264
xor eax, eax
inc eax
mov dword [esp + 0x30], eax
push 0
push 1
push 0x59cacd
push edi
push esi
call fcn.004b4610
add esp, 0x14
test al, al
jne 0x449248
mov eax, dword [ebp + 8]
cmp edi, 3
je 0x448ea2
cmp edi, 1
je 0x449278
test edi, edi
je 0x448fc4
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 0x448ec6
mov eax, 0xcccccccc
cmp eax, edi
mov eax, 0xccccccc
sbb eax, edx
jl 0x448fc1
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 0x448fc1
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 0x448e34
jmp 0x4492a4
movzx edx, word [esi]
xor dx, word [0x59d038]
mov cl, byte [esi + 2]
xor cl, byte [0x59d03a]
movzx ecx, cl
or cx, dx
jne 0x448e01
jmp 0x4494c5
add esi, ecx
mov dword [esp + 8], esi
cmp bl, 0x2e
je 0x44916d
test ecx, ecx
je 0x448fc1
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 0x59d380
mov ebx, dword [esp + 0x1c]
push ebx
mov esi, dword [esp + 0x18]
push esi
call fcn.004b4610
add esp, 0x14
test al, al
jne 0x448ff1
push 0
push 2
push 0x59d383
push ebx
push esi
call fcn.004b4610
add esp, 0x14
test al, al
jne 0x448fe3
push 0
push 2
push 0x59d386
push ebx
push esi
call fcn.004b4610
add esp, 0x14
test al, al
jne 0x448fea
push 0
push 1
push 0x59cac3
push ebx
push esi
call fcn.004b4610
add esp, 0x14
test al, al
jne 0x448ff8
push 0
push 1
push 0x59cac7
push ebx
push esi
call fcn.004b4610
add esp, 0x14
test al, al
jne 0x448fd5
push 0
push 1
push str.hslmdz_
push ebx
push esi
call fcn.004b4610
add esp, 0x14
test al, al
jne 0x448fdc
push 0
push 1
push 0x59cac9
push ebx
push esi
call fcn.004b4610
add esp, 0x14
test al, al
jne 0x448fce
mov eax, dword [ebp + 8]
mov byte [eax], 0
xor ecx, ecx
jmp 0x449162
mov eax, 0x5a98a0
jmp 0x448ffd
mov eax, 0x5a9880
jmp 0x448ffd
mov eax, 0x5a9890
jmp 0x448ffd
mov eax, 0x5a9850
jmp 0x449004
mov eax, 0x5a9860
jmp 0x449004
mov eax, 0x5a9840
jmp 0x449004
mov eax, 0x5a9870
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 0x449255
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 0x44928d
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 0x4490b9
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.00512cc0
cmp eax, ebx
sbb edx, edi
jb 0x449323
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 0x4492d8
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 0x449348
mov ebx, dword [esp + 4]
mov ecx, dword [esp]
mov edi, dword [esp + 0x10]
add esi, dword [esp + 0x18]
test edi, edi
jne 0x448e11
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 0x4491db
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 0x44921e
mov eax, dword [esp]
mov dword [esp + 0x10], eax
sub eax, 1
mov dword [esp], eax
jb 0x449216
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 0x4491d6
mov eax, 0xcccccccc
cmp eax, dword [esp + 0x20]
mov eax, 0xccccccc
sbb eax, dword [esp + 0x1c]
jge 0x449196
jmp 0x4491d6
mov eax, dword [esp + 0x18]
mov dword [esp + 8], eax
cmp dword [esp + 0x2c], 0
jne 0x44923f
mov eax, dword [esp + 0x20]
xor eax, 1
or eax, dword [esp + 0x1c]
mov edx, dword [esp + 4]
jne 0x448f00
jmp 0x448fc1
mov edx, dword [esp + 4]
jmp 0x448f00
test edi, edi
je 0x449255
mov eax, edi
inc esi
dec edi
jmp 0x448de4
push str....._third_partylibc_srcinclude_string_view:418:_assertion___n___size___failed:_remove_prefix___cant_remove_more_than_size___n
push 0x59a9a3
call fcn.00523170
test edi, edi
je 0x449255
mov eax, edi
inc esi
dec edi
xor eax, eax
dec eax
mov dword [esp + 0x30], eax
jmp 0x448de4
cmp byte [esi], 0x30
jne 0x448e01
xor ecx, ecx
mov dword [eax + 4], ecx
mov dword [eax], ecx
jmp 0x449160
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 0x44912e
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 0x448f00
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 0x44912e
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 0x449132
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 0x4490e2
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 [0x59e8a0]
ucomisd xmm1, xmm0
jb 0x4493e8
maxsd xmm0, qword [0x59e8a8]
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 0x44940f
xor edx, edx
ucomisd xmm0, qword [0x59e8a8]
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 0x449462
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 0x44914b
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 0x44949a
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 0x44914f
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 0x44914f
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 0x44915d