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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x130
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x38], ecx
mov ecx, dword [eax]
cmp ecx, 2
jne 0x4696fb
push 2
pop eax
mov dword [esp + 0x1c], eax
mov al, 2
xor ebx, ebx
jmp 0x469714
mov bl, byte [eax + 9]
test ecx, ecx
je 0x469707
mov ecx, dword [eax + 4]
jmp 0x46970a
push 2
pop ecx
mov al, byte [eax + 8]
and bl, 1
mov dword [esp + 0x1c], ecx
cmp al, 2
setne cl
test al, 1
sete al
test cl, al
jne 0x46972c
movsd xmm0, qword [0x5885f8]
jmp 0x469734
movsd xmm0, qword [0x5885f0]
mov eax, dword [ebp + 8]
movsd qword [esp + 0x30], xmm0
push 0x12
pop ecx
lea edi, [esp + 0xe4]
je 0x469750
mov esi, 0x5b8aa4
jmp 0x469755
mov esi, 0x5b8b0c
movd xmm0, edx
movd xmm1, eax
rep movsd dword es:[edi], dword [esi]
punpckldq xmm0, xmm1
punpckldq xmm0, xmmword [0x588600]
subpd xmm0, xmmword [0x588610]
movapd xmm1, xmm0
unpckhpd xmm1, xmm0
addsd xmm1, xmm0
movapd xmmword [esp + 0xb0], xmm1
movsd qword [esp], xmm1
call fcn.005749b0
fstp qword [esp + 0x70]
xorpd xmm0, xmm0
maxsd xmm0, qword [esp + 0x70]
movsd xmm1, qword [esp + 0x30]
movsd qword [esp + 0x48], xmm0
movsd qword [esp], xmm1
call fcn.005749b0
fstp qword [esp + 0x68]
movsd xmm0, qword [esp + 0x48]
divsd xmm0, qword [esp + 0x68]
movsd qword [esp], xmm0
call fcn.00574a00
fstp qword [esp + 0x78]
xor edi, edi
movsd xmm0, qword [esp + 0x78]
ucomisd xmm0, xmm0
maxsd xmm0, qword [0x588620]
minsd xmm0, qword [0x588628]
cvttsd2si eax, xmm0
cmovp eax, edi
cmp eax, 8
push 8
pop esi
movq xmm0, qword [esp + 0x30]
cmovl esi, eax
cvtsi2sd xmm1, esi
movsd qword [esp + 8], xmm1
movq qword [esp], xmm0
call fcn.00574b00
movapd xmm2, xmmword [esp + 0xb0]
fstp qword [esp + 0x60]
test bl, bl
mov eax, dword [esp + 0x1c]
divsd xmm2, qword [esp + 0x60]
mov dword [esp + 0x24], eax
movsd qword [esp + 0x80], xmm2
je 0x4698d4
movsd qword [esp + 0x28], xmm2
mov edx, 0
fld qword [esp + 0x28]
fnstcw word [esp + 0x1a]
movzx eax, word [esp + 0x1a]
or eax, 0xc00
ucomisd xmm2, qword [0x588630]
mov word [esp + 0x22], ax
mov eax, 0x80000000
fldcw word [esp + 0x22]
fistp qword [esp + 0x28]
fldcw word [esp + 0x1a]
jb 0x46988b
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
xor ecx, ecx
mov ebx, 0x7fffffff
dec ecx
ucomisd xmm2, qword [0x588638]
cmovbe ecx, edx
cmovbe ebx, eax
ucomisd xmm2, xmm2
cmovp ebx, edi
cmovp ecx, edi
movd xmm0, ebx
movd xmm1, ecx
punpckldq xmm1, xmm0
movq qword [esp + 0x58], xmm1
fild qword [esp + 0x58]
fstp qword [esp + 0x50]
ucomisd xmm2, qword [esp + 0x50]
jne 0x4698d4
jp 0x4698d4
and dword [esp + 0x24], 0
lea ebx, [esp + 0xa0]
lea eax, [esp + 0x80]
lea ecx, [esp + 0xc4]
mov dword [ebx], eax
lea eax, [esp + 0x24]
mov dword [ebx + 4], 0x442cd0
mov dword [ebx + 8], eax
xor eax, eax
mov dword [ebx + 0xc], 0x437980
inc eax
mov dword [ecx], eax
mov dword [ecx + 4], eax
push 2
pop edx
mov dword [ecx + 8], edx
mov dword [ecx + 0x10], 0x20
and dword [ecx + 0x14], 0
and dword [ecx + 0x18], 0
lea edi, [esp + 0x88]
mov byte [ecx + 0x1c], 3
mov dword [edi], str.assertion_failed:_mid___self.len__chunk_size_must_be_non_zero
mov dword [edi + 4], eax
mov dword [edi + 0x10], ecx
mov dword [edi + 0x14], eax
mov dword [edi + 8], ebx
mov dword [edi + 0xc], edx
lea ecx, [esp + 0x3c]
mov edx, edi
call fcn.004699e9
cmp esi, 8
ja 0x4699d6
mov eax, dword [esp + esi*8 + 0xe4]
lea edx, [esp + 0xc4]
mov dword [edx], str.assertion_failed:_mid___self.len__chunk_size_must_be_non_zero
mov dword [esp + 0xa0], eax
mov eax, dword [esp + esi*8 + 0xe8]
mov dword [esp + 0xa4], eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], fcn.00417a93
mov dword [esp + 0x90], ebx
push 2
pop eax
mov ecx, dword [esp + 0x38]
mov dword [edx + 4], eax
and dword [edx + 0x10], 0
mov dword [edx + 8], edi
mov dword [edx + 0xc], eax
mov dword [esp + 0x94], fcn.00417b33
call fcn.004699e9
cmp dword [esp + 0x40], 0
je 0x4699ce
mov ecx, dword [esp + 0x3c]
xor edx, edx
inc edx
call fcn.004040f0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp], str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fpretty_bytes_rust_0.3.0_srclib.rsT
push 9
pop edx
mov ecx, esi
call fcn.00580f00
ud2