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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x160
mov esi, esp
mov dword [esi + 0x14], ebp
mov eax, dword [ebp + 8]
mov dword [esi + 0x84], eax
mov dword [esi + 0x88], eax
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x90], eax
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x8c], eax
mov ecx, esp
mov dword [esi + 0x14c], ecx
mov dword [esi + 0x158], 0xffffffff
lea ecx, [esi + 0x150]
mov dword [esi + 0x154], 0x52fdd0
mov edx, dword fs:[0]
mov dword [esi + 0x150], edx
mov dword fs:[0], ecx
mov byte [esi + 0x133], 0
mov dword [esp], eax
call fcn.0052fab0
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.0052f180
mov ecx, eax
mov eax, dword [esi + 0x90]
mov dword [esi + 0x94], ecx
mov dword [esi + 0x134], ecx
mov dword [esp], eax
call fcn.0052fab0
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.0052f180
mov ecx, eax
mov eax, dword [esi + 0x94]
mov dword [esi + 0x98], ecx
mov dword [esi + 0x138], ecx
cmp eax, 0
jne 0x52f342
mov eax, dword [esi + 0x98]
cmp eax, 0
je 0x52f34f
mov eax, dword [esi + 0x94]
cmp eax, 0
je 0x52f37c
jmp 0x52f38b
mov eax, dword [esi + 0x84]
movsd xmm0, qword [0x604608]
movsd qword [eax], xmm0
mov eax, dword [esi + 0x88]
mov ecx, dword [esi + 0x150]
mov dword fs:[0], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esi + 0x84]
xorps xmm0, xmm0
movsd qword [eax], xmm0
jmp 0x52f361
mov eax, dword [esi + 0x98]
cmp eax, 0
je 0x52f37c
mov eax, dword [esi + 0x94]
cmp eax, 1
jne 0x52f3ac
mov eax, dword [esi + 0x98]
cmp eax, 1
je 0x52f3df
mov eax, dword [esi + 0x98]
mov ecx, dword [esi + 0x94]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0052b9f0
shr eax, 1
mov ecx, eax
sub ecx, 1
mov dword [esi + 0x80], ecx
cmp eax, 1
jb 0x52f4d9
jmp 0x52f486
mov ecx, dword [esi + 0x8c]
mov byte [esi + 0x133], 1
mov eax, esp
mov dword [eax], ecx
call fcn.0052fab0
mov ecx, dword [esi + 0x90]
mov dword [esi + 0x70], eax
mov dword [esi + 0x74], edx
mov dword [esi + 0x158], 6
mov eax, esp
mov dword [eax], ecx
call fcn.0052fab0
mov dword [esi + 0x78], edx
mov dword [esi + 0x7c], eax
jmp 0x52f41c
mov ecx, dword [esi + 0x70]
mov edx, dword [esi + 0x74]
mov edi, dword [esi + 0x7c]
mov ebx, dword [esi + 0x78]
mov byte [esi + 0x133], 0
mov eax, esp
mov dword [eax + 0xc], ebx
mov dword [eax + 8], edi
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.0052cfe0
mov byte [esi + 0x6f], al
jmp 0x52f446
mov al, byte [esi + 0x6f]
test al, 1
jne 0x52f468
jmp 0x52f44f
mov eax, dword [esi + 0x84]
mov byte [esi + 0x133], 0
xorps xmm0, xmm0
movsd qword [eax], xmm0
jmp 0x52f361
mov eax, dword [esi + 0x84]
mov byte [esi + 0x133], 0
movsd xmm0, qword [0x604608]
movsd qword [eax], xmm0
jmp 0x52f361
mov ecx, dword [esi + 0x98]
mov eax, dword [esi + 0x80]
mov dword [esi + 0x13c], eax
mov eax, esp
mov dword [eax + 4], ecx
lea ecx, [esi + 0x9c]
mov dword [eax], ecx
mov dword [eax + 8], 0x6046b0
call fcn.00530640
mov ecx, dword [esi + 0x98]
mov dword [esi + 0x158], 1
mov eax, esp
mov dword [eax + 4], ecx
mov dword [eax], 0
call fcn.0052ab30
mov dword [esi + 0x64], edx
mov dword [esi + 0x68], eax
jmp 0x52f4e6
mov eax, esp
mov dword [eax], str.C:UsersDaaa.cargo_registry_srcindex.crates.io_1cd66030c949c28d_strsim_0.10.0_srclib.rs
call fcn.005f7090
mov eax, dword [esi + 0x64]
mov ecx, dword [esi + 0x68]
mov dword [esi + 0xa8], ecx
mov dword [esi + 0xac], eax
mov eax, esp
lea ecx, [esi + 0xa8]
mov dword [eax], ecx
call fcn.0052a300
mov dword [esi + 0x5c], edx
mov dword [esi + 0x60], eax
jmp 0x52f50f
mov eax, dword [esi + 0x5c]
mov ecx, dword [esi + 0x60]
mov dword [esi + 0xb0], ecx
mov dword [esi + 0xb4], eax
cmp dword [esi + 0xb0], 0
jne 0x52f55e
mov ecx, dword [esi + 0x8c]
xorps xmm0, xmm0
movsd qword [esi + 0xb8], xmm0
movsd qword [esi + 0xc0], xmm0
mov dword [esi + 0xc8], 0
mov eax, esp
mov dword [eax], ecx
call fcn.0052fab0
mov dword [esi + 0x54], edx
mov dword [esi + 0x58], eax
jmp 0x52f580
mov eax, esp
lea ecx, [esi + 0x9c]
mov dword [eax], ecx
mov dword [eax + 8], 0x604700
mov dword [eax + 4], 0
call fcn.00530690
jmp 0x52f9a7
mov ecx, dword [esi + 0x58]
mov edx, dword [esi + 0x54]
mov eax, esp
mov dword [eax + 8], edx
mov dword [eax + 4], ecx
lea ecx, [esi + 0xd8]
mov dword [eax], ecx
call fcn.0052d360
jmp 0x52f59d
mov eax, esp
lea ecx, [esi + 0xd8]
mov dword [eax + 4], ecx
lea ecx, [esi + 0xcc]
mov dword [eax], ecx
call fcn.0052ab50
jmp 0x52f5b7
mov eax, dword [esi + 0xcc]
mov dword [esi + 0xe4], eax
mov eax, dword [esi + 0xd0]
mov dword [esi + 0xe8], eax
mov eax, dword [esi + 0xd4]
mov dword [esi + 0xec], eax
mov dword [esi + 0x158], 2
mov eax, esp
lea ecx, [esi + 0xe4]
mov dword [eax], ecx
call fcn.00529a10
mov dword [esi + 0x4c], edx
mov dword [esi + 0x50], eax
jmp 0x52f5fc
mov eax, dword [esi + 0x4c]
mov ecx, dword [esi + 0x50]
mov dword [esi + 0xf0], ecx
mov dword [esi + 0xf4], eax
cmp dword [esi + 0xf4], 0x110000
sete al
test al, 1
jne 0x52f621
jmp 0x52f639
movsd xmm0, qword [esi + 0xb8]
xorps xmm1, xmm1
ucomisd xmm0, xmm1
jne 0x52f667
jp 0x52f667
jmp 0x52f6e1
mov ecx, dword [esi + 0x80]
mov eax, dword [esi + 0xf0]
mov dword [esi + 0x48], eax
mov dword [esi + 0x140], eax
mov edx, dword [esi + 0xf4]
mov dword [esi + 0xf8], edx
cmp eax, ecx
ja 0x52f717
jmp 0x52f70b
mov eax, dword [esi + 0x84]
mov ecx, dword [esi + 0x98]
mov edx, dword [esi + 0x94]
movsd xmm0, qword [esi + 0xb8]
movd xmm2, edx
movsd xmm3, qword [0x5ff400]
movaps xmm4, xmm3
por xmm2, xmm4
subsd xmm2, xmm3
movaps xmm1, xmm0
divsd xmm1, xmm2
movd xmm2, ecx
por xmm2, xmm4
subsd xmm2, xmm3
divsd xmm0, xmm2
addsd xmm1, xmm0
movsd xmm0, qword [esi + 0xb8]
subsd xmm0, qword [esi + 0xc0]
divsd xmm0, qword [esi + 0xb8]
addsd xmm1, xmm0
movsd xmm0, qword [0x604610]
mulsd xmm0, xmm1
movsd qword [eax], xmm0
jmp 0x52f6ee
mov eax, dword [esi + 0x84]
xorps xmm0, xmm0
movsd qword [eax], xmm0
mov dword [esi + 0x158], 0xffffffff
lea eax, [esi + 0x9c]
mov dword [esp], eax
call fcn.0052bdf0
jmp 0x52f361
mov dword [esi + 0xfc], 0
jmp 0x52f741
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x48]
sub ecx, eax
mov dword [esi + 0x158], 3
mov eax, esp
mov dword [eax + 4], ecx
mov dword [eax], 0
call fcn.0052b9f0
mov dword [esi + 0x44], eax
jmp 0x52f758
mov eax, dword [esi + 0x98]
mov ecx, eax
sub ecx, 1
mov dword [esi + 0x40], ecx
cmp eax, 1
jb 0x52f784
jmp 0x52f763
ud2
mov eax, dword [esi + 0x44]
mov dword [esi + 0xfc], eax
jmp 0x52f741
mov ecx, dword [esi + 0x80]
mov eax, dword [esi + 0x48]
add eax, ecx
mov dword [esi + 0x3c], eax
setb al
mov dword [esi + 0x158], 3
test al, 1
jne 0x52f7b4
jmp 0x52f79d
mov dword [esi + 0x158], 3
mov eax, esp
mov dword [eax], str.C:UsersDaaa.cargo_registry_srcindex.crates.io_1cd66030c949c28d_strsim_0.10.0_srclib.rs
call fcn.005f7090
jmp 0x52f756
mov ecx, dword [esi + 0x40]
mov edx, dword [esi + 0x3c]
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.0052ba10
mov dword [esi + 0x38], eax
jmp 0x52f7c3
mov eax, esp
mov dword [eax], str.C:UsersDaaa.cargo_registry_srcindex.crates.io_1cd66030c949c28d_strsim_0.10.0_srclib.rs
call fcn.005f7050
jmp 0x52f756
mov eax, dword [esi + 0x38]
mov dword [esi + 0x144], eax
cmp dword [esi + 0xfc], eax
ja 0x52f7eb
mov ecx, dword [esi + 0x90]
mov eax, esp
mov dword [eax], ecx
call fcn.0052fab0
mov dword [esi + 0x30], edx
mov dword [esi + 0x34], eax
jmp 0x52f7f0
jmp 0x52f5db
mov ecx, dword [esi + 0x34]
mov edx, dword [esi + 0x30]
mov eax, esp
mov dword [eax + 8], edx
mov dword [eax + 4], ecx
lea ecx, [esi + 0x10c]
mov dword [eax], ecx
call fcn.0052d360
jmp 0x52f80d
mov eax, esp
lea ecx, [esi + 0x10c]
mov dword [eax + 4], ecx
lea ecx, [esi + 0x100]
mov dword [eax], ecx
call fcn.0052ab50
jmp 0x52f827
mov eax, dword [esi + 0x100]
mov dword [esi + 0x118], eax
mov eax, dword [esi + 0x104]
mov dword [esi + 0x11c], eax
mov eax, dword [esi + 0x108]
mov dword [esi + 0x120], eax
mov dword [esi + 0x158], 4
mov eax, esp
lea ecx, [esi + 0x118]
mov dword [eax], ecx
call fcn.00529a10
mov dword [esi + 0x28], edx
mov dword [esi + 0x2c], eax
jmp 0x52f86c
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x2c]
mov dword [esi + 0x124], ecx
mov dword [esi + 0x128], eax
cmp dword [esi + 0x128], 0x110000
sete al
test al, 1
jne 0x52f891
jmp 0x52f8a0
mov dword [esi + 0x158], 2
jmp 0x52f5db
mov eax, dword [esi + 0x124]
mov dword [esi + 0x24], eax
mov dword [esi + 0x148], eax
mov ecx, dword [esi + 0x128]
mov dword [esi + 0x12c], ecx
cmp dword [esi + 0xfc], eax
jbe 0x52f8d2
mov dword [esi + 0x158], 4
jmp 0x52f84b
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x38]
cmp eax, ecx
ja 0x52f8c3
mov dword [esi + 0x158], 5
mov eax, esp
lea ecx, [esi + 0x12c]
mov dword [eax + 4], ecx
lea ecx, [esi + 0xf8]
mov dword [eax], ecx
call fcn.0052ba50
mov byte [esi + 0x23], al
jmp 0x52f903
mov al, byte [esi + 0x23]
test al, 1
jne 0x52f90c
jmp 0x52f8c3
mov ecx, dword [esi + 0x24]
mov eax, esp
mov dword [eax + 4], ecx
lea ecx, [esi + 0x9c]
mov dword [eax], ecx
mov dword [eax + 8], 0x6046e0
call fcn.00531210
mov dword [esi + 0x1c], eax
jmp 0x52f92d
mov eax, dword [esi + 0x1c]
test byte [eax], 1
jne 0x52f8c3
mov ecx, dword [esi + 0x24]
mov eax, esp
mov dword [eax + 4], ecx
lea ecx, [esi + 0x9c]
mov dword [eax], ecx
mov dword [eax + 8], 0x6046f0
call fcn.005312b0
mov dword [esi + 0x18], eax
jmp 0x52f956
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x18]
mov byte [ecx], 1
movsd xmm0, qword [0x604608]
addsd xmm0, qword [esi + 0xb8]
movsd qword [esi + 0xb8], xmm0
cmp eax, dword [esi + 0xc8]
jb 0x52f98d
mov eax, dword [esi + 0x24]
mov dword [esi + 0xc8], eax
jmp 0x52f891
movsd xmm0, qword [0x604608]
addsd xmm0, qword [esi + 0xc0]
movsd qword [esi + 0xc0], xmm0
jmp 0x52f97f
jmp 0x52f4f8