Function at 0x4482b0
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 0x5a19ef
push esi
push edi
call fcn.004b1000
add esp, 0x14
mov ebx, eax
test al, al
jne 0x44877c
xor eax, eax
inc eax
mov dword [esp + 0x30], eax
push 0
push 1
push 0x5a19ed
push esi
push edi
call fcn.004b1000
add esp, 0x14
test al, al
jne 0x448762
mov eax, dword [ebp + 8]
cmp esi, 3
je 0x4483bc
cmp esi, 1
je 0x44878e
test esi, esi
je 0x4484de
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 0x4483e0
mov eax, 0xcccccccc
cmp eax, edi
mov eax, 0xccccccc
sbb eax, edx
jl 0x4484db
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 0x4484db
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 0x448356
jmp 0x4487ff
movzx edx, word [edi]
xor dx, word [0x5a1f08]
mov cl, byte [edi + 2]
xor cl, byte [0x5a1f0a]
movzx ecx, cl
or cx, dx
jne 0x448321
jmp 0x4489a2
add ecx, esi
mov eax, esi
mov esi, ecx
cmp bl, 0x2e
je 0x448685
test eax, eax
je 0x4484db
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 0x5a2250
mov esi, dword [esp + 0x10]
push esi
mov ebx, dword [esp + 0x1c]
push ebx
call fcn.004b1000
add esp, 0x14
test al, al
jne 0x448504
push 0
push 2
push 0x5a2253
push esi
push ebx
call fcn.004b1000
add esp, 0x14
test al, al
jne 0x44850b
push 0
push 2
push 0x5a2256
push esi
push ebx
call fcn.004b1000
add esp, 0x14
test al, al
jne 0x4484fd
push 0
push 1
push 0x5a19e3
push esi
push ebx
call fcn.004b1000
add esp, 0x14
test al, al
jne 0x448512
push 0
push 1
push 0x5a19e7
push esi
push ebx
call fcn.004b1000
add esp, 0x14
test al, al
jne 0x4484f6
push 0
push 1
push str.hslmdz_
push esi
push ebx
call fcn.004b1000
add esp, 0x14
test al, al
jne 0x4484ef
push 0
push 1
push 0x5a19e9
push esi
push ebx
call fcn.004b1000
add esp, 0x14
test al, al
jne 0x4484e8
mov eax, dword [ebp + 8]
mov byte [eax], 0
xor ecx, ecx
jmp 0x44867a
mov eax, 0x5aeb38
jmp 0x448517
mov eax, 0x5aeb28
jmp 0x448517
mov eax, 0x5aeb18
jmp 0x448517
mov eax, 0x5aeaf8
jmp 0x44851e
mov eax, 0x5aead8
jmp 0x44851e
mov eax, 0x5aeae8
jmp 0x44851e
mov eax, 0x5aeb08
xor ecx, ecx
inc ecx
mov dword [esp + 0x10], ecx
sub esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
jb 0x44876d
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 0x4487e7
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 0x4485d5
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.00516430
cmp eax, ebx
sbb edx, edi
jb 0x44882b
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 0x4487a3
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 0x448850
mov ebx, dword [esp]
add eax, dword [esp + 0x10]
mov edi, eax
test esi, esi
jne 0x448331
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 0x4486f6
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 0x44873d
mov eax, dword [esp + 0x10]
mov dword [esp + 4], eax
sub eax, 1
mov dword [esp + 0x10], eax
jb 0x448739
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 0x4486f0
jmp 0x4486ae
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 0x44841e
jmp 0x4484db
int3
test esi, esi
je 0x44876d
inc edi
dec esi
jmp 0x448304
push str....._third_partylibc_srcinclude_string_view:422:_assertion___n___size___failed:_remove_prefix___cant_remove_more_than_size___n
push 0x59f83f
call fcn.00526860
test esi, esi
je 0x44876d
inc edi
dec esi
xor eax, eax
dec eax
mov dword [esp + 0x30], eax
jmp 0x448304
cmp byte [edi], 0x30
jne 0x448321
xor ecx, ecx
mov dword [eax + 4], ecx
mov dword [eax], ecx
jmp 0x448678
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 0x4487f2
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 0x44864d
jmp 0x44875f
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 0x44864d
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 0x44841e
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 0x448600
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 [0x5a3a00]
ucomisd xmm0, xmm1
mov eax, 0xffffffff
cmovb eax, ebx
mov dword [esp + 8], eax
mov eax, SysReAllocString
cmovae ebx, eax
movsd xmm2, qword [0x5a3a08]
ucomisd xmm2, xmm0
maxsd xmm0, xmm1
movsd qword [esp + 0x38], xmm0
fld qword [esp + 0x38]
fisttp qword [esp + 0x38]
jb 0x448908
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 0x448954
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 0x448662
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 0x448984
mov esi, dword [esp + 4]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
jmp 0x448662
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 0x448662
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 0x448678