Function at 0x463ff0
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 eax, dword [ecx]
mov edi, dword [eax + 0x2c]
test edi, edi
je 0x4647b1
mov edx, dword [eax + 0x28]
mov dword [esp + 0x30], ecx
cmp edi, edx
ja 0x46485d
mov ecx, eax
mov eax, dword [eax + 0x20]
mov edx, dword [ecx + 0x38]
mov dword [esp + 0x1c], ecx
mov esi, dword [eax + edi*4 - 4]
cmp esi, edx
ja 0x46486e
test esi, esi
je 0x46407a
js 0x464898
mov eax, dword [0x5c6108]
test eax, eax
jne 0x464058
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x46488a
mov dword [0x5c6108], eax
push esi
push 8
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
mov dword [esp + 8], eax
je 0x46488a
cmp edi, 0x1fffffff
jbe 0x46408e
jmp 0x46487f
mov dword [esp + 8], 1
cmp edi, 0x1fffffff
ja 0x46487f
lea ebx, [edi*4]
test ebx, ebx
js 0x46487f
je 0x4640d4
mov eax, dword [0x5c6108]
test eax, eax
jne 0x4640b6
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4640c3
mov dword [0x5c6108], eax
push ebx
push 8
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
jne 0x4640d9
mov ecx, 4
mov edx, ebx
call dbg.handle_alloc_error
jmp 0x464884
mov eax, 4
mov ecx, dword [esp + 8]
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], esi
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edi
mov dword [esp + 0x68], edi
mov dword [esp + 0x6c], 0
movzx eax, byte [0x5c6170]
mov eax, dword [0x5c6108]
test eax, eax
jne 0x46412f
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x46484c
mov dword [0x5c6108], eax
push 0x40
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x46484c
movsd xmm0, qword [esp + 0x78]
mov ecx, dword [esp + 0x1c]
mov esi, eax
movsd qword [eax + 0x38], xmm0
movsd xmm0, qword [esp + 0x70]
movsd qword [eax + 0x30], xmm0
movsd xmm0, qword [esp + 0x68]
movsd qword [eax + 0x28], xmm0
movsd xmm0, qword [esp + 0x60]
movsd qword [eax + 0x20], xmm0
movsd xmm0, qword [esp + 0x58]
movsd qword [eax + 0x18], xmm0
movsd xmm0, qword [esp + 0x50]
movsd qword [eax + 0x10], xmm0
movsd xmm0, qword [esp + 0x40]
movsd xmm1, qword [esp + 0x48]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
mov eax, dword [ecx]
or eax, dword [ecx + 4]
je 0x4641ba
movsd xmm2, qword [ecx + 8]
movaps xmm1, xmmword [0x54b520]
movups xmm0, xmmword [ecx + 0x10]
movlhps xmm1, xmm2
jmp 0x4641bd
xorps xmm1, xmm1
movups xmmword [esi], xmm1
movups xmmword [esi + 0x10], xmm0
mov eax, ecx
mov dword [esp + 0x20], 0x556200
mov dword [esp + 0x18], esi
mov ebx, dword [ecx + 0x28]
mov edx, dword [ecx + 0x2c]
cmp edx, ebx
ja 0x464886
test edx, edx
je 0x464769
mov ecx, eax
mov eax, dword [eax + 0x20]
mov ebx, dword [ecx + 0x38]
mov ecx, dword [eax + edx*4 - 4]
cmp ecx, ebx
ja 0x46489f
lea eax, [esi + 0x20]
xor ecx, ecx
mov dword [esp + 0x14], 0
mov dword [esp + 0x34], edx
mov dword [esp + 0x28], eax
mov eax, esi
add eax, 0x30
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x1c]
nop
mov edi, dword [eax + 0x2c]
mov ebx, dword [eax + 0x28]
cmp edi, ebx
ja 0x4647f2
cmp ecx, edi
jae 0x4647b9
mov edx, ecx
mov ecx, eax
mov eax, dword [eax + 0x20]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x3c], edx
mov edx, dword [eax + edx*4]
cmp esi, edx
ja 0x464806
mov ebx, dword [ecx + 0x38]
cmp edx, ebx
ja 0x4647f6
mov eax, dword [ecx + 0x30]
xor ebx, ebx
mov dword [esp + 0x38], edx
lea edi, [eax + esi]
add eax, edx
cmp edx, esi
mov dword [esp + 0xc], eax
mov al, 1
mov dword [esp + 0x24], edi
mov dword [esp + 0x10], eax
jne 0x4642a0
mov dword [esp + 4], 0
mov edx, dword [esp + 0xc]
cmp edi, edx
je 0x464510
mov dword [esp + 0x14], edi
jmp 0x4643f8
mov edx, dword [esp + 0xc]
xor ebx, ebx
jmp 0x4642c8
movzx eax, al
test byte [eax + 0x5a2aa4], 1
je 0x4643b3
nop dword [eax + eax]
cmp edi, edx
je 0x4643d0
movzx eax, byte [edi]
mov esi, edi
mov dword [esp + 8], ebx
test al, al
js 0x4642e0
lea edi, [esi + 1]
jmp 0x464340
movzx ebx, byte [esi + 1]
mov ecx, eax
and ecx, 0x1f
and ebx, 0x3f
cmp al, 0xdf
jbe 0x464323
movzx edx, byte [esi + 2]
shl ebx, 6
and edx, 0x3f
or edx, ebx
cmp al, 0xf0
jb 0x46432f
movzx eax, byte [esi + 3]
and ecx, 7
shl edx, 6
lea edi, [esi + 4]
shl ecx, 0x12
and eax, 0x3f
or eax, edx
or eax, ecx
cmp eax, 0x110000
jne 0x464339
jmp 0x4644eb
shl ecx, 6
lea edi, [esi + 2]
or ecx, ebx
mov eax, ecx
jmp 0x464340
shl ecx, 0xc
lea edi, [esi + 3]
or edx, ecx
mov eax, edx
mov edx, dword [esp + 0xc]
nop dword [eax]
mov ebx, edi
lea ecx, [eax - 9]
sub ebx, esi
mov esi, dword [esp + 0x18]
add ebx, dword [esp + 8]
cmp ecx, 5
jb 0x4642c0
cmp eax, 0x20
je 0x4642c0
cmp eax, 0x80
jb 0x4643b3
mov ecx, eax
shr ecx, 8
cmp ecx, 0x1f
jg 0x46438c
test ecx, ecx
je 0x4642a8
cmp ecx, 0x16
jne 0x4643b3
cmp eax, 0x1680
je 0x4642c0
jmp 0x4643b3
cmp ecx, 0x20
je 0x4643a3
cmp ecx, 0x30
jne 0x4643b3
cmp eax, 0x3000
je 0x4642c0
jmp 0x4643b3
movzx eax, al
test byte [eax + 0x5a2aa4], 2
jne 0x4642c0
mov dword [esp + 0x10], 0
mov dword [esp + 4], ebx
cmp edi, edx
jne 0x46428f
jmp 0x464510
mov dword [esp + 4], 0
jmp 0x46451b
movzx eax, al
test byte [eax + 0x5a2aa4], 1
je 0x4644d6
nop dword [eax]
cmp edi, edx
je 0x464510
movzx eax, byte [edx - 1]
mov esi, edx
test al, al
js 0x464410
lea edx, [esi - 1]
jmp 0x46446f
movzx ecx, byte [esi - 2]
cmp cl, 0xc0
jge 0x46443a
movzx edx, byte [esi - 3]
cmp dl, 0xc0
jge 0x464442
lea edi, [esi - 4]
and edx, 0x3f
mov dword [esp + 0xc], edi
movzx edi, byte [esi - 4]
and edi, 7
shl edi, 6
or edx, edi
jmp 0x46444c
lea edx, [esi - 2]
and ecx, 0x1f
jmp 0x46445c
lea edi, [esi - 3]
and edx, 0xf
mov dword [esp + 0xc], edi
shl edx, 6
and ecx, 0x3f
mov edi, dword [esp + 0x14]
or ecx, edx
mov edx, dword [esp + 0xc]
shl ecx, 6
and eax, 0x3f
or eax, ecx
cmp eax, 0x110000
je 0x464510
lea ecx, [eax - 9]
cmp ecx, 5
jb 0x4643f0
cmp eax, 0x20
je 0x4643f0
cmp eax, 0x80
jb 0x4644d6
mov ecx, eax
shr ecx, 8
cmp ecx, 0x1f
jg 0x4644af
test ecx, ecx
je 0x4643dd
cmp ecx, 0x16
jne 0x4644d6
cmp eax, 0x1680
je 0x4643f0
jmp 0x4644d6
cmp ecx, 0x20
je 0x4644c6
cmp ecx, 0x30
jne 0x4644d6
cmp eax, 0x3000
je 0x4643f0
jmp 0x4644d6
movzx eax, al
test byte [eax + 0x5a2aa4], 2
jne 0x4643f0
sub ebx, edi
add ebx, esi
cmp byte [esp + 0x10], 0
mov dword [esp + 4], ebx
mov esi, dword [esp + 0x18]
je 0x464523
jmp 0x46451b
mov ebx, dword [esp + 8]
mov dword [esp + 4], 0
mov edx, dword [esp + 0xc]
cmp edi, edx
jne 0x46428f
nop word cs:[eax + eax]
nop dword [eax]
cmp byte [esp + 0x10], 0
mov esi, dword [esp + 0x18]
je 0x464523
mov dword [esp + 8], 0
mov ebx, dword [esi + 0x28]
mov eax, dword [esi + 0x2c]
cmp eax, ebx
ja 0x464802
test eax, eax
je 0x464550
mov ecx, dword [esp + 0x28]
mov ecx, dword [ecx]
mov ecx, dword [ecx + eax*4 - 4]
jmp 0x464552
xor ecx, ecx
mov eax, dword [esp + 4]
mov ebx, dword [esi + 0x38]
mov dword [esp + 0x14], ecx
sub eax, dword [esp + 8]
lea edx, [ecx + eax]
mov dword [esp + 4], eax
cmp edx, ebx
mov dword [esp + 0xc], edx
ja 0x46470b
cmp dword [esp + 0x14], edx
ja 0x46480d
cmp edx, ebx
ja 0x464825
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x14]
add ecx, dword [esp + 8]
add edx, dword [eax]
push dword [esp + 4]
push ecx
push edx
call sym._memcpy
add esp, 0xc
mov edi, dword [esi + 0x28]
mov ecx, dword [esi + 0x2c]
cmp ecx, edi
jb 0x4646b9
test edi, edi
js 0x464845
lea ebx, [edi + edi]
mov eax, 4
cmp ebx, 5
cmovb ebx, eax
mov edx, ebx
sub edx, edi
jbe 0x4646b4
mov eax, dword [esi + 0x24]
mov dword [esp + 0x14], edx
sub eax, edi
cmp eax, edx
mov eax, edi
jae 0x4645fb
mov ecx, dword [esp + 0x28]
mov eax, edx
mov edx, edi
push eax
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::reserve::do_reserve_and_handle::h77df21556ff641ab
add esp, 4
mov eax, dword [esi + 0x28]
mov edx, dword [esp + 0x14]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x28]
cmp edx, 2
mov ecx, dword [eax]
mov eax, dword [esp + 8]
mov dword [esp + 4], ecx
lea ecx, [ecx + eax*4]
jb 0x4646a8
mov eax, edi
mov edx, 1
not eax
add eax, ebx
cmp eax, 8
mov dword [esp + 0x24], eax
jb 0x464681
mov esi, dword [esp + 0x24]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 4]
mov eax, dword [esp + 8]
xorps xmm0, xmm0
and esi, 0xfffffff8
lea eax, [ebx + eax*4 + 0x10]
lea ecx, [ecx + esi*4]
lea edx, [esi + 1]
mov dword [esp + 4], esi
nop word cs:[eax + eax]
nop dword [eax + eax]
movups xmmword [eax - 0x10], xmm0
movups xmmword [eax], xmm0
add eax, 0x20
add esi, 0xfffffff8
jne 0x464660
mov eax, dword [esp + 4]
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
cmp dword [esp + 0x24], eax
je 0x46469c
add edx, edi
sub edx, ebx
nop word cs:[eax + eax]
nop
mov dword [ecx], 0
add ecx, 4
inc edx
jne 0x464690
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 8]
lea eax, [eax + edx - 1]
mov dword [ecx], 0
inc eax
mov ecx, dword [esi + 0x2c]
mov ebx, eax
mov edi, ebx
mov dword [esi + 0x28], ebx
cmp ecx, edi
jae 0x4647c0
mov eax, dword [esi + 0x20]
mov edx, dword [esp + 0xc]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x34]
inc dword [esi + 0x2c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
inc ecx
cmp ecx, edx
jne 0x464220
jmp 0x464769
mov esi, dword [esp + 0x18]
inc ebx
mov byte [eax], 0
mov eax, ebx
mov edx, dword [esp + 0xc]
mov ebx, eax
mov dword [esi + 0x38], eax
cmp edx, eax
jbe 0x464574
test ebx, ebx
js 0x4647d5
lea eax, [ebx + ebx]
mov ecx, 4
cmp eax, 5
cmovb eax, ecx
mov edi, eax
sub edi, ebx
jbe 0x4646fa
mov eax, dword [esi + 0x34]
sub eax, ebx
cmp eax, edi
jae 0x464742
mov ecx, dword [esp + 0x2c]
mov edx, ebx
push edi
call dbg.do_reserve_and_handle<u8, alloc::alloc::Global>
add esp, 4
mov ebx, dword [esi + 0x38]
mov eax, dword [esp + 0x2c]
cmp edi, 2
mov esi, dword [eax]
lea eax, [esi + ebx]
jb 0x4646f0
lea ecx, [edi - 1]
push ecx
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea ebx, [edi + ebx - 1]
add esi, ebx
mov eax, esi
jmp 0x4646f0
cmp dword [eax + 0x34], 0
je 0x464783
push dword [eax + 0x30]
push 0
push dword [0x5c6108]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x46479d
push dword [eax + 0x20]
push 0
push dword [0x5c6108]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x1c]
push eax
push 0
push dword [0x5c6108]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x30]
mov dword [eax], esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, 0x5562f4
jmp 0x4647c5
mov eax, 0x553cb0
mov edx, edi
push eax
call dbg.panic_bounds_check
add esp, 4
jmp 0x464884
mov eax, 0x5561d0
mov edx, 0x2b
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadmod.rs
push eax
call dbg.panic
add esp, 4
jmp 0x464884
mov ecx, edi
jmp 0x464831
mov ecx, edx
mov dword [esp + 0x20], 0x556304
jmp 0x464831
mov ecx, eax
jmp 0x464831
mov eax, 0x556304
jmp 0x464812
mov eax, 0x553ca0
mov ecx, dword [esp + 0x14]
push eax
mov esi, dword [esp + 0x1c]
call dbg.slice_index_order_fail
add esp, 4
jmp 0x464884
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x20], 0x553ca0
mov edx, ebx
push dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
call dbg.slice_end_index_len_fail
add esp, 4
jmp 0x464884
mov eax, 0x556210
jmp 0x4647da
mov ecx, 8
mov edx, 0x40
call dbg.handle_alloc_error
jmp 0x464884
mov ecx, edi
push 0x556200
call dbg.slice_end_index_len_fail
add esp, 4
ud2
mov ecx, esi
push 0x5561f0
call dbg.slice_end_index_len_fail
add esp, 4
ud2
call sym.alloc::raw_vec::capacity_overflow::hd0578b62e5d0dfac
ud2
mov ecx, edx
jmp 0x464831
mov ecx, 1
mov edx, esi
call dbg.handle_alloc_error
ud2
call sym.alloc::raw_vec::capacity_overflow::hd0578b62e5d0dfac
ud2
mov dword [esp + 0x20], str._home_user_.cargo_registry_src_index.crates.io_6f17d22bba15001f_csv_1.1.6_src_byte_record.rstaU
jmp 0x464831