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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x2f8
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x5c], eax
mov cl, byte [ebp + 0x18]
mov byte [esp + 0x63], cl
mov edx, dword [ebp + 0x14]
mov dword [esp + 0x64], edx
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x68], esi
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x6c], eax
mov edi, dword [ebp + 8]
mov dword [esp + 0x70], edi
mov dword [esp + 0x1d8], edi
mov dword [esp + 0x1dc], eax
mov dword [esp + 0x1e0], esi
mov dword [esp + 0x1e4], edx
and cl, 1
mov byte [esp + 0x1eb], cl
lea ecx, [0x60215c]
mov dword [esp + 0x1ec], ecx
mov dword [esp + 0x1f0], 0x40
mov dword [esp + 0x1f4], 0x40
mov dword [esp + 0x1f8], 0
mov dword [esp + 0x1fc], 0
cmp eax, 2
jb 0x4f6f36
mov eax, dword [esp + 0x6c]
xor ecx, ecx
mov dword [esp + 0x4c], ecx
mov edx, eax
mov dword [esp + 0x50], edx
mov edx, eax
add edx, 0xffffffff
mov dword [esp + 0x54], edx
adc ecx, 0x3fffffff
mov dword [esp + 0x58], ecx
test eax, eax
je 0x4f6f89
jmp 0x4f6f3b
jmp 0x4f7340
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x58]
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x4c]
mov eax, esp
mov dword [eax + 0xc], edi
mov dword [eax + 8], esi
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.005f4f80
sub esp, 0x10
mov ecx, eax
mov eax, dword [esp + 0x6c]
mov esi, edx
mov dword [esp + 0x44], esi
mov esi, ecx
mov dword [esp + 0x48], esi
mov dword [esp + 0x204], edx
mov dword [esp + 0x200], ecx
cmp eax, 0x1000
jbe 0x4f6fa8
jmp 0x4f6f96
mov eax, esp
mov dword [eax], str.C:UsersDaaa.rustup_toolchains_nightly_i686_pc_windows_msvclib_rustlib_src_rustlibrarycore_src_slice_sort_stabledrift.rs
call fcn.005f7190
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
call fcn.005f0c60
mov dword [esp + 0x74], eax
jmp 0x4f6fcd
mov eax, dword [esp + 0x6c]
mov ecx, eax
shr ecx, 1
sub eax, ecx
mov dword [esp + 0x20c], eax
mov dword [esp], eax
mov dword [esp + 4], 0x40
call fcn.0052bbb0
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], 0
lea eax, [esp + 0x7c]
mov dword [esp + 0x210], eax
lea eax, [esp + 0x7c]
mov dword [esp + 0x214], eax
lea eax, [esp + 0x7c]
mov dword [esp + 0x218], eax
lea eax, [esp + 0x186]
mov dword [esp + 0x21c], eax
lea eax, [esp + 0x186]
mov dword [esp + 0x220], eax
lea eax, [esp + 0x186]
mov dword [esp + 0x224], eax
mov dword [esp + 0x1c8], 0
mov dword [esp + 0x1cc], 1
mov eax, dword [esp + 0x6c]
cmp dword [esp + 0x1c8], eax
jb 0x4f705b
mov dword [esp + 0x1d0], 1
mov byte [esp + 0x1d7], 0
jmp 0x4f71d2
mov bl, byte [esp + 0x63]
mov edi, dword [esp + 0x5c]
mov edx, dword [esp + 0x70]
mov esi, dword [esp + 0x6c]
mov ecx, dword [esp + 0x1c8]
mov dword [esp + 0x228], ecx
mov eax, esp
mov dword [eax + 8], esi
mov dword [eax + 4], edx
mov dword [eax], ecx
mov dword [eax + 0xc], 0x602174
call fcn.004973d0
mov ecx, eax
mov esi, dword [esp + 0x74]
mov eax, esp
mov dword [eax + 0x18], edi
movzx edi, bl
mov ebx, dword [esp + 0x64]
and edi, 1
mov dword [eax + 0x14], edi
mov edi, dword [esp + 0x48]
mov dword [eax + 0x10], esi
mov esi, dword [esp + 0x68]
mov dword [eax + 0xc], ebx
mov dword [eax + 8], esi
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.004f44d0
mov dword [esp + 0x1d0], eax
mov edx, dword [esp + 0x1c8]
mov eax, dword [esp + 0x1cc]
mov dword [esp + 0x22c], eax
shr eax, 1
sub edx, eax
mov dword [esp + 0x230], edx
mov ebx, dword [esp + 0x1c8]
mov dword [esp + 0x234], ebx
mov eax, dword [esp + 0x1c8]
mov ecx, dword [esp + 0x1d0]
mov dword [esp + 0x238], ecx
shr ecx, 1
add eax, ecx
mov dword [esp + 0x23c], eax
add edx, ebx
mov dword [esp + 0x34], edx
setb cl
movzx ecx, cl
mov dword [esp + 0x244], ecx
mov dword [esp + 0x240], edx
add ebx, eax
setb al
movzx eax, al
mov dword [esp + 0x38], eax
mov dword [esp + 0x248], ebx
mov dword [esp + 0x24c], eax
mov eax, edi
mul edx
mov dword [esp + 0x40], eax
mov eax, edx
mov edx, dword [esp + 0x34]
mov esi, edi
imul esi, ecx
mov ecx, dword [esp + 0x44]
add eax, esi
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3c], eax
mov eax, edi
mul ebx
mov ecx, eax
mov eax, dword [esp + 0x38]
mov esi, edx
mov edx, dword [esp + 0x3c]
imul edi, eax
mov eax, dword [esp + 0x40]
add esi, edi
mov edi, dword [esp + 0x44]
imul edi, ebx
add esi, edi
xor edx, esi
xor eax, ecx
mov dword [esp + 0x250], eax
mov dword [esp + 0x254], edx
bsr eax, eax
mov ecx, 0x3f
cmove eax, ecx
xor eax, 0x1f
add eax, 0x20
bsr ecx, edx
xor ecx, 0x1f
test edx, edx
cmovne eax, ecx
mov dword [esp + 0x25c], eax
mov eax, dword [esp + 0x25c]
mov byte [esp + 0x1d7], al
jmp 0x4f71d4
cmp dword [esp + 0x78], 1
ja 0x4f71dd
jmp 0x4f71fd
mov eax, dword [esp + 0x78]
sub eax, 1
mov dword [esp + 0x260], eax
mov al, byte [esp + eax + 0x186]
cmp al, byte [esp + 0x1d7]
jae 0x4f724c
jmp 0x4f724a
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x1cc]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x264], ecx
mov dword [esp + ecx*4 + 0x7c], edx
mov dl, byte [esp + 0x1d7]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x268], ecx
mov byte [esp + ecx + 0x186], dl
mov ecx, dword [esp + 0x78]
add ecx, 1
mov dword [esp + 0x78], ecx
cmp dword [esp + 0x1c8], eax
jae 0x4f72fa
jmp 0x4f72c9
jmp 0x4f71fd
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x78]
sub edx, 1
mov dword [esp + 0x274], edx
mov esi, dword [esp + edx*4 + 0x7c]
mov dword [esp + 0x28], esi
mov dword [esp + 0x278], esi
mov dword [esp + 0x27c], esi
shr esi, 1
mov edx, dword [esp + 0x1cc]
mov dword [esp + 0x280], edx
shr edx, 1
add esi, edx
mov dword [esp + 0x284], esi
mov edx, dword [esp + 0x1c8]
sub edx, esi
mov dword [esp + 0x2c], edx
mov dword [esp + 0x288], edx
mov edx, dword [esp + 0x1c8]
mov dword [esp + 0x30], edx
mov dword [esp + 0x28c], edx
mov dword [esp + 0x290], ecx
mov dword [esp + 0x294], eax
jmp 0x4f7348
mov eax, dword [esp + 0x1d0]
mov dword [esp + 0x26c], eax
shr eax, 1
add eax, dword [esp + 0x1c8]
mov dword [esp + 0x1c8], eax
mov eax, dword [esp + 0x1d0]
mov dword [esp + 0x1cc], eax
jmp 0x4f7036
mov eax, dword [esp + 0x1cc]
mov dword [esp + 0x270], eax
and eax, 1
cmp eax, 1
jne 0x4f7312
jmp 0x4f733e
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov esi, dword [esp + 0x6c]
mov edi, dword [esp + 0x70]
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.004f59d0
jmp 0x4f7340
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
mov esi, dword [esp + 0x70]
mov dword [esp + 0x298], esi
mov dword [esp + 0x29c], eax
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004e58f0
mov edx, dword [esp + 0x5c]
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x68]
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x30]
sub esi, ecx
mov dword [esp + 0x24], esi
mov dword [esp + 0x2a0], esi
mov dword [esp + 0x2a4], eax
imul ecx, ecx, 0x18
add eax, ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x2a8], eax
mov dword [esp + 0x2ac], eax
mov dword [esp + 0x2b0], esi
mov esi, dword [esp + 0x1cc]
mov dword [esp + 0x20], esi
mov dword [esp + 0x2b8], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x2bc], eax
mov dword [esp + 0x2c0], ebx
mov dword [esp + 0x2c4], ecx
mov dword [esp + 0x2c8], edi
mov dword [esp + 0x2cc], esi
mov dword [esp + 0x2d0], edx
mov dword [esp + 0x2d4], eax
cmp eax, ecx
setbe al
mov cl, al
and cl, 1
mov byte [esp + 0x2db], cl
test al, 1
jne 0x4f7435
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2e4], eax
and eax, 1
cmp eax, 1
je 0x4f7471
jmp 0x4f7473
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2dc], eax
and eax, 1
cmp eax, 1
jne 0x4f744a
jmp 0x4f7420
mov eax, dword [esp + 0x20]
mov dword [esp + 0x2e0], eax
and eax, 1
cmp eax, 1
jne 0x4f745f
jmp 0x4f7420
mov eax, dword [esp + 0x24]
shl eax, 1
mov dword [esp + 0x2b4], eax
jmp 0x4f7586
jmp 0x4f74d4
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x28]
shr esi, 1
mov dword [esp + 0x2e8], esi
xor eax, eax
lea eax, [0x602114]
mov dword [esp], 0
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.004960f0
mov ecx, dword [esp + 0x64]
mov edi, eax
mov eax, dword [esp + 0x5c]
mov esi, edx
mov edx, dword [esp + 0x68]
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.004f59d0
mov eax, dword [esp + 0x20]
mov dword [esp + 0x2ec], eax
and eax, 1
cmp eax, 1
jne 0x4f74e9
jmp 0x4f7540
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x28]
shr esi, 1
mov dword [esp + 0x2f0], esi
lea eax, [0x602124]
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.004973d0
mov ecx, dword [esp + 0x64]
mov edi, eax
mov eax, dword [esp + 0x5c]
mov esi, edx
mov edx, dword [esp + 0x68]
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.004f59d0
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x64]
mov esi, dword [esp + 0x68]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
shr ecx, 1
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
call fcn.004a6a80
mov eax, dword [esp + 0x24]
shl eax, 1
or eax, 1
mov dword [esp + 0x2b4], eax
mov eax, dword [esp + 0x2b4]
mov dword [esp + 0x1cc], eax
mov eax, dword [esp + 0x78]
sub eax, 1
mov dword [esp + 0x78], eax
jmp 0x4f71d4