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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x58
mov ebp, dword [esp + 0x6c]
mov ebx, dword [esp + 0x70]
mov esi, dword [ebp]
lea eax, [ebp + 8]
lea ecx, [ebp + 0x20]
mov edi, dword [ebx + 4]
cmp esi, 0x80000000
cmove eax, ecx
mov eax, dword [eax]
cmp eax, dword [edi + 0x30]
jne 0x4891bc
lea ecx, [ebp + 4]
lea edx, [ebp + 0x1c]
cmp esi, 0x80000000
cmove ecx, edx
push eax
push dword [edi + 0x2c]
push dword [ecx]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x4891c6
xor eax, eax
add esp, 0x58
pop esi
pop edi
pop ebx
pop ebp
ret
cmp dword [edi + 0x74], 0
sete al
cmp esi, 0x80000000
jne 0x4891e1
mov edx, dword [ebp + 0x2c]
test edx, edx
je 0x4891be
add ebp, 0x30
jmp 0x4891f0
cmp dword [ebp + 0x30], 0x80000000
je 0x4891be
mov edx, dword [ebp + 0x34]
add ebp, 0x38
mov esi, esp
mov ecx, esi
push dword [ebp]
call fcn.00489420
add esp, 4
movzx eax, byte [esp + 0x13]
cmp al, 2
je 0x4891bc
test al, al
jne 0x489400
cmp byte [esp + 0x11], 0
setne ch
cmp dword [ebx + 8], 0
sete cl
and ch, cl
cmp byte [esp + 0x10], 0
sete dl
xor eax, eax
cmp ch, 1
je 0x4891be
or dl, cl
je 0x4891be
mov ebx, dword [edi + 0x74]
test ebx, ebx
je 0x4893f1
mov eax, dword [esp]
test eax, eax
je 0x4891bc
mov edi, dword [edi + 0x78]
mov ecx, dword [esp + 4]
lea ebp, [esp + 0x40]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], 0
push ebp
push esi
call fcn.0048f300
add esp, 8
xor eax, eax
test byte [esp], 1
jne 0x4891be
mov ecx, dword [esp + 4]
test ecx, ecx
je 0x4891be
mov eax, dword [esp + 8]
mov edx, dword [esp + 0xc]
test edi, edi
mov dword [esp + 0x34], ecx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], 0
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
je 0x4891bc
lea eax, [esp + 0x28]
lea ebx, [esp + 0x1c]
jmp 0x4892d3
mov eax, dword [esp + 0x30]
lea ebp, [esp + 0x40]
cmp eax, dword [esp + 0x2c]
lea eax, [esp + 0x28]
je 0x4891bc
mov dword [esp + 0x40], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x50], 0
push 0xffff
push ebp
push 7
push 0x30
push eax
push esi
call fcn.0048a300
add esp, 0x18
movzx eax, byte [esp]
test eax, eax
jne 0x4893f8
mov eax, dword [esp + 0xc]
or eax, dword [esp + 0x14]
jne 0x4891bc
mov eax, dword [esp + 4]
test eax, eax
je 0x4891bc
mov ecx, dword [esp + 8]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], 0
push ebp
push esi
call fcn.0048f300
add esp, 8
xor eax, eax
test byte [esp], 1
jne 0x4891be
mov ecx, dword [esp + 4]
test ecx, ecx
je 0x4891be
mov eax, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
jmp 0x48937a
cmp eax, 6
je 0x4892bd
mov eax, dword [esp + 0x3c]
cmp eax, dword [esp + 0x38]
je 0x4892bd
lea eax, [esp + 0x34]
push eax
push esi
call fcn.0048e340
add esp, 8
movzx eax, byte [esp]
cmp eax, 3
jne 0x489371
mov edi, dword [esp + 4]
mov ebp, dword [esp + 8]
nop word [eax + eax]
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x20]
je 0x48937a
push ebx
push esi
call fcn.0048e340
add esp, 8
movzx eax, byte [esp]
cmp eax, 3
je 0x4893d9
cmp eax, 5
je 0x4893b0
cmp eax, 6
jne 0x4893b0
jmp 0x48937a
cmp ebp, dword [esp + 8]
jne 0x4893b0
push ebp
push dword [esp + 8]
push edi
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x4893b0
mov al, 1
jmp 0x4891be
cmp eax, 2
jmp 0x4891bc
push 0x526900
push 0x35
push str.assertion_failed:__self.only_contains_attribute_certsC:Userslucak.cargo_registry_srcindex.crates.io_6f17d22bba15001f_rustls_webpki_0.102.2_srccrl_types.rs
call fcn.005005f0
int3