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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x298
mov dword [esp + 0x78], 2
and dword [esp + 0x88], 0
mov edi, edx
lea ebx, [edx + 0x18]
lea eax, [edx + 0x1c]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x34], eax
mov dword [esp + 0x44], edi
mov dword [esp + 0x40], ebx
mov dword [esp + 8], edx
mov esi, dword [ebx]
lea eax, [esi - 3]
cmp eax, 2
jae 0x4693c6
mov eax, dword [edi]
mov ecx, dword [edi + 0x10]
mov edx, dword [edi + 0x14]
cmp ecx, eax
sbb edx, 0
jae 0x4693d5
cmp eax, ecx
je 0x4693d5
jmp 0x4695b9
mov ecx, ebx
call fcn.00469b9a
test al, al
jne 0x4695e8
and dword [edi + 0x14], 0
and dword [edi + 0x10], 0
and dword [edi], 0
cmp esi, 3
mov dword [edi + 0x18], 4
jne 0x4698ad
mov eax, dword [esp + 0x34]
mov edx, dword [edi + 0xc0]
mov ecx, dword [edi + 0x2c]
mov word [esp + 0x5c], 0x904
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
add edx, 9
mov dword [esp + 0x48], ecx
mov dword [esp + 0x58], ecx
lea ecx, [esp + 0x58]
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], edi
lea edi, [esp + 0x38]
mov edx, edi
movsd qword [esp + 0x20], xmm1
movsd qword [esp + 0x18], xmm0
call fcn.0042abc7
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
mov esi, dword [ecx]
mov ecx, dword [esp + 0x1c]
mov ebx, esi
mov dword [esp + 0x4c], ecx
not ebx
cmp ebx, eax
cmovae ebx, eax
cmp ecx, ebx
jbe 0x4694b1
lea edi, [esp + 0x90]
lea edx, [esp + 0x18]
mov ecx, edi
push ebx
call fcn.0041959c
pop eax
mov edx, dword [esp + 0x90]
lea ecx, [esp + 0x38]
push dword [esp + 0x94]
call fcn.004253c6
pop eax
push edi
call fcn.00421bca
pop eax
movsd xmm0, qword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
movsd qword [esp + 0x90], xmm0
mov dword [esp + 0x98], eax
mov dword [esp + 0x14], ecx
jmp 0x4694c8
mov edx, dword [esp + 0x18]
mov eax, ecx
mov ecx, edi
push eax
call fcn.004253c6
pop eax
mov dword [esp + 0x14], 0
mov edi, dword [esp + 0x3c]
xor edx, edx
lea ecx, [esp + 0x50]
mov eax, dword [edi]
and dword [esp + 0x50], 0
sub eax, esi
bswap eax
mov dword [esp + 0x54], eax
push 0x526428
push 5
call fcn.0042c1d0
pop ecx
pop ecx
mov esi, dword [esp + 0x14]
test edx, edx
je 0x469505
dec edx
cmp byte [eax], 0
lea eax, [eax + 1]
je 0x4694f3
jmp 0x469a0a
xor ecx, ecx
push 3
pop edx
push 0x526488
push dword [edi]
push dword [edi + 0xc]
call fcn.004586bb
add esp, 0xc
mov ecx, eax
push 0x526498
push 3
lea eax, [esp + 0x5d]
push eax
call fcn.004a1e74
add esp, 0xc
test esi, esi
je 0x46954c
mov eax, dword [esp + 0x3c]
mov edx, dword [eax]
cmp edx, 5
jb 0x4699fa
mov eax, dword [eax + 0xc]
add byte [eax + 4], 0xfc
cmp dword [esp + 0x4c], ebx
mov eax, dword [esp + 0x98]
movsd xmm0, qword [esp + 0x90]
mov dword [esp + 0x68], eax
movsd qword [esp + 0x60], xmm0
ja 0x469577
lea eax, [esp + 0x18]
push eax
call fcn.00421bca
pop eax
mov edi, dword [esp + 0x44]
mov ebx, dword [esp + 0x40]
test esi, esi
je 0x4693a4
mov ecx, ebx
call fcn.00460302
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x34]
movsd xmm0, qword [esp + 0x60]
mov dword [edi + 0x18], 3
mov dword [ecx + 8], eax
movsd qword [ecx], xmm0
mov ecx, dword [esp + 0x48]
mov dword [edi + 0x28], esi
mov dword [edi + 0x2c], ecx
jmp 0x4693a4
cmp byte [edi + 0xc4], 0
je 0x4696f7
mov eax, 0x200
lea ecx, [esp + 0x90]
test eax, eax
je 0x469617
and dword [ecx], 0
mov dword [ecx + 4], str._rustc_90c541806f23a127002de5b4038be731ba1458calibrarycore_src_strpattern.rs
add ecx, 8
add eax, 0xfffffff8
jmp 0x4695d2
cmp byte [edi + 0xc4], 0
je 0x469755
mov eax, 0x200
lea ecx, [esp + 0x90]
test eax, eax
je 0x469664
and dword [ecx], 0
mov dword [ecx + 4], str._rustc_90c541806f23a127002de5b4038be731ba1458calibrarycore_src_strpattern.rs
add ecx, 8
add eax, 0xfffffff8
jmp 0x469601
lea esi, [esp + 0x90]
mov ecx, edi
mov edx, esi
call fcn.00469b42
mov ecx, esi
mov edx, eax
push 0x53aab0
call fcn.0045a133
pop ecx
mov ecx, dword [edi + 0xcc]
push edx
push eax
push dword [ebp + 8]
push dword [edi + 0xc8]
lea eax, [esp + 0x28]
push eax
call dword [ecx + 0x1c]
add esp, 0x14
cmp byte [esp + 0x18], 5
jne 0x469771
mov al, 5
jmp 0x46974c
lea esi, [esp + 0x90]
mov ecx, edi
mov edx, esi
call fcn.00469b42
mov dword [esp + 0x14], eax
mov ecx, eax
mov edx, esi
push 0x53d454
push 0x40
call fcn.0045a0ca
pop ecx
pop ecx
mov esi, eax
xor eax, eax
test edx, edx
je 0x4696b1
mov ecx, ebx
call fcn.00469b30
test eax, eax
mov eax, 0
je 0x4696b1
mov ecx, ebx
call fcn.00469ad2
mov dword [esi], edx
mov dword [esi + 4], eax
xor eax, eax
inc eax
add eax, dword [esp + 0x14]
lea ecx, [esp + 0x90]
mov edx, eax
push 0x53aab0
call fcn.0045a133
pop ecx
mov ecx, dword [edi + 0xcc]
push edx
push eax
push dword [ebp + 8]
push dword [edi + 0xc8]
lea eax, [esp + 0x28]
push eax
call dword [ecx + 0x1c]
add esp, 0x14
cmp byte [esp + 0x18], 5
jne 0x469799
mov al, 5
jmp 0x469876
mov ecx, edi
call fcn.00469b6d
mov ecx, dword [edi + 0xcc]
push edx
push eax
push dword [ebp + 8]
push dword [edi + 0xc8]
lea eax, [esp + 0xa0]
push eax
call dword [ecx + 0x10]
add esp, 0x14
cmp byte [esp + 0x90], 5
mov al, 5
je 0x46974c
mov eax, dword [esp + 0x90]
mov edx, dword [esp + 0x94]
cmp al, 4
je 0x469781
mov ecx, eax
shrd ecx, edx, 8
shr edx, 8
mov dword [esp + 0x30], ecx
mov dword [esp + 8], edx
mov edx, dword [esp + 8]
jmp 0x469841
mov eax, dword [edi]
mov ecx, dword [edi + 0x10]
mov edx, dword [edi + 0x14]
cmp ecx, eax
sbb edx, 0
jae 0x4697a7
cmp eax, ecx
je 0x4697a7
mov ecx, edi
call fcn.00469b6d
jmp 0x4697ae
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
cmp al, 4
jne 0x469834
mov ecx, edi
call fcn.00469a98
mov dword [esp + 0x30], 0
mov al, 4
xor edx, edx
jmp 0x469841
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 8]
jmp 0x4697ef
mov ecx, ebx
call fcn.00469ad2
mov ecx, dword [edi + 0xcc]
push edx
push eax
push dword [ebp + 8]
push dword [edi + 0xc8]
lea eax, [esp + 0xa0]
push eax
call dword [ecx + 0x10]
add esp, 0x14
cmp byte [esp + 0x90], 5
mov edx, dword [esp + 8]
mov al, 5
je 0x46987a
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
cmp al, 4
jne 0x469821
mov dword [esp + 4], ecx
mov ecx, dword [edi + 0x10]
mov eax, dword [edi]
mov esi, dword [edi + 0x14]
mov edx, ecx
sub edx, eax
sbb esi, 0
jae 0x46984e
cmp eax, ecx
je 0x46984e
mov eax, dword [esp + 4]
neg edx
mov ecx, edi
mov esi, eax
sub esi, edx
jbe 0x46985d
call fcn.00469a98
jmp 0x469852
mov esi, eax
shrd esi, ecx, 8
shr ecx, 8
mov dword [esp + 0x10], esi
mov dword [esp + 4], ecx
jmp 0x46987a
mov ecx, eax
shrd ecx, edx, 8
shr edx, 8
mov dword [esp + 0x30], ecx
cmp al, 4
je 0x4693a0
jmp 0x4699da
mov esi, dword [esp + 4]
mov ecx, ebx
mov edx, esi
call fcn.00469a1e
jmp 0x469864
mov edx, eax
call fcn.00469a98
mov dword [esp + 0x10], 0
mov al, 4
mov dword [esp + 4], 0
mov edx, dword [esp + 8]
cmp al, 4
je 0x4693a0
movzx eax, al
cmp eax, 5
je 0x469993
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0xc]
shld ecx, edx, 8
shl edx, 8
or edx, eax
mov dword [esi + 4], ecx
mov dword [esi], edx
jmp 0x4699c0
cmp esi, 4
je 0x469971
mov ecx, dword [esp + 0x34]
movsd xmm2, qword [edi + 0x48]
movsd xmm1, qword [ecx + 8]
mov eax, dword [ecx + 0x10]
movsd xmm0, qword [ecx]
movsd qword [esp + 0xa8], xmm2
movsd xmm2, qword [edi + 0x30]
lea ecx, [edi + 0x50]
movsd qword [esp + 0x20], xmm1
movsd xmm1, qword [edi + 0x40]
mov dword [esp + 0x28], eax
movsd qword [esp + 0x18], xmm0
movsd qword [esp + 0x90], xmm2
movsd qword [esp + 0xa0], xmm1
movsd xmm1, qword [edi + 0x38]
movsd qword [esp + 0x98], xmm1
call fcn.0046031c
movsd xmm1, qword [esp + 0x20]
mov dword [edi + 0x50], esi
movsd xmm0, qword [esp + 0x18]
mov eax, dword [esp + 0x28]
movsd xmm3, qword [esp + 0x90]
movsd xmm2, qword [esp + 0xa0]
movsd qword [edi + 0x5c], xmm1
movsd xmm1, qword [esp + 0x98]
movsd qword [edi + 0x54], xmm0
mov dword [edi + 0x64], eax
movsd qword [edi + 0x68], xmm3
movsd qword [edi + 0x78], xmm2
movsd qword [edi + 0x70], xmm1
movsd xmm1, qword [esp + 0xa8]
movsd qword [edi + 0x80], xmm1
mov eax, dword [edi + 0xcc]
lea esi, [esp + 0x90]
push dword [ebp + 8]
push dword [edi + 0xc8]
push esi
call dword [eax + 0x14]
add esp, 0xc
cmp byte [esi], 5
jne 0x46999c
mov eax, dword [esp + 0xc]
mov byte [eax], 5
jmp 0x4699c0
mov eax, dword [esp + 0x90]
cmp al, 4
jne 0x4699b0
mov eax, dword [esp + 0xc]
mov byte [eax], 4
jmp 0x4699c0
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x94]
mov dword [edx], eax
mov dword [edx + 4], ecx
lea esi, [esp + 0x70]
mov ecx, esi
call fcn.00456464
mov ecx, esi
call fcn.00456475
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
movzx eax, al
cmp eax, 5
je 0x469993
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 0xc]
shld edx, ecx, 8
shl ecx, 8
or ecx, eax
mov dword [esi + 4], edx
mov dword [esi], ecx
jmp 0x4699c0
push 4
pop ecx
push 0x5264a8
call fcn.0050d500
pop eax
ud2
push 0x3e
pop edx
mov ecx, str.assertion_failed:_payload_len_be_0..5_.iter__.all_b_b__0_
push 0x526478
call fcn.0050d590
jmp 0x469a07