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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x80
mov edi, dword [ebp + 8]
test edx, edx
mov dword [esp + 0x5c], ecx
je 0x5d079b
cmp edx, 1
jne 0x5d0939
lea eax, [esp + 0x40]
xor edx, edx
and dword [eax], 0
mov eax, dword [edi + 0x40]
mov esi, dword [edi + 0x44]
test al, 1
jne 0x5d09ca
mov ebx, eax
shr ebx, 1
and ebx, 0x1f
cmp ebx, 0x1f
jne 0x5d06f3
lea ecx, [esp + 0x40]
mov esi, edx
call fcn.00413322
mov edx, esi
jmp 0x5d0782
cmp ebx, 0x1e
mov dword [esp + 0xc], edx
jne 0x5d0730
test edx, edx
jne 0x5d0730
mov ecx, 0x178
mov dword [esp + 0x1c], eax
push 4
pop edx
call fcn.005086b2
push 0x178
push 0
mov dword [esp + 0x14], eax
push eax
call fcn.00616db0
add esp, 0xc
xor ecx, ecx
call fcn.004152d8
mov eax, dword [esp + 0x1c]
test esi, esi
jne 0x5d0767
mov dword [esp + 0x1c], eax
mov ecx, 0x178
push 4
pop edx
call fcn.005086b2
mov esi, eax
push 0x178
push 0
push eax
call fcn.00616db0
add esp, 0xc
xor eax, eax
lock cmpxchg dword [edi + 0x44], esi
jne 0x5d078d
mov dword [edi + 4], esi
mov eax, dword [esp + 0x1c]
lea ecx, [eax + 2]
lock cmpxchg dword [edi + 0x40], ecx
je 0x5d0a90
lea ecx, [esp + 0x40]
call fcn.0041334d
mov edx, dword [esp + 0xc]
mov eax, dword [edi + 0x40]
mov esi, dword [edi + 0x44]
jmp 0x5d06cd
mov ecx, dword [esp + 0xc]
call fcn.004152d8
jmp 0x5d06ec
lea ecx, [esp + 0x40]
lea eax, [esp + 0x60]
xorps xmm0, xmm0
and dword [ecx + 0x10], 0
mov dword [eax + 8], 0x3b9aca00
movaps xmmword [ecx], xmm0
and dword [esp + 0x20], 0
mov edx, dword [ebp + 0xc]
mov ecx, dword [edi + 0x40]
mov eax, dword [edi + 0x88]
test eax, ecx
jne 0x5d09ff
xor ebx, ebx
mov esi, edi
dec eax
sub ebx, dword [edi + 0x84]
mov edi, dword [edi + 0xd4]
and eax, ecx
imul edx, eax, 0xc
mov dword [esp + 0xc], edi
mov edi, dword [edi + edx + 8]
cmp ecx, edi
je 0x5d080c
add edi, dword [esi + 0x84]
lea eax, [ecx + 1]
cmp edi, eax
je 0x5d081c
lea ecx, [esp + 0x20]
call fcn.00413322
mov edx, dword [ebp + 0xc]
mov edi, esi
jmp 0x5d07bc
inc eax
mov edi, esi
cmp eax, dword [esi + 0x80]
jae 0x5d082f
lea ebx, [ecx + 1]
jmp 0x5d0837
mfence
mov edi, esi
mov eax, dword [esi]
add eax, dword [esi + 0x84]
cmp eax, ecx
jne 0x5d0844
jmp 0x5d0852
and ebx, ecx
add ebx, dword [edi + 0x84]
mov eax, ecx
lock cmpxchg dword [edi + 0x40], ebx
je 0x5d0a60
lea ecx, [esp + 0x20]
call fcn.0041334d
jmp 0x5d07b9
mov eax, dword [esp + 0x68]
cmp eax, 0x3b9aca00
je 0x5d08a4
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
mov dword [esp + 0xc], eax
call fcn.005ab390
mov dword [esp + 0x78], ecx
mov ecx, edi
cmp eax, ebx
mov edi, edx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x1c], esi
sbb edi, esi
mov edi, ecx
mov ecx, dword [esp + 0xc]
jb 0x5d08a4
xor eax, dword [esp + 0x34]
xor edx, dword [esp + 0x1c]
or edx, eax
jne 0x5d0c7e
cmp dword [esp + 0x78], ecx
jae 0x5d0c7e
call fcn.005c28f0
test eax, eax
je 0x5d0901
mov ebx, dword [eax]
and dword [eax], 0
mov esi, eax
test ebx, ebx
je 0x5d0901
lea eax, [esp + 0x40]
lea ecx, [esp + 0x60]
mov dword [esp + 0x10], ebx
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], 0
lea edx, [esp + 0x10]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], ecx
lea ecx, [esp + 0x20]
call fcn.005d0f78
mov eax, dword [esi]
lea ecx, [esp + 0x20]
mov dword [esp + 0x20], eax
mov dword [esi], ebx
call fcn.005c500f
jmp 0x5d07b4
call fcn.00633bd0
lea edx, [esp + 0x40]
lea ecx, [esp + 0x60]
lea esi, [esp + 0x10]
mov dword [esp + 0x10], eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], ecx
lea ecx, [esp + 0x20]
mov edx, esi
call fcn.005d0f78
mov ecx, esi
call fcn.005c3393
jmp 0x5d07b4
and dword [esp + 0x70], 0
add edi, 8
lea esi, [esp + 0x40]
xorps xmm0, xmm0
mov dword [esp + 0x28], 0x3b9aca00
mov ecx, esi
mov edx, edi
movaps xmmword [esp + 0x60], xmm0
call fcn.0048dedc
cmp dword [esi], 0
jne 0x5d0c93
mov ebx, dword [esp + 0x44]
mov al, byte [esp + 0x48]
lea esi, [esp + 0x10]
mov ecx, esi
lea edx, [ebx + 0x20]
mov byte [esp + 0xc], al
call fcn.005c4f51
cmp dword [esi], 0
je 0x5d0a2e
mov esi, dword [esp + 0x18]
movsd xmm0, qword [esp + 0x10]
movzx edx, byte [esp + 0xc]
mov ecx, ebx
movsd qword [esp + 0x40], xmm0
mov dword [esp + 0x48], esi
mov dword [esp + 0x70], esi
call fcn.004bd038
test esi, esi
je 0x5d0ab6
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
mov dword [esi], eax
mov dword [esi + 4], ecx
mov byte [esi + 8], 1
jmp 0x5d0acd
xor ebx, ebx
xor esi, esi
mov ecx, edx
call fcn.004152d8
mov edx, dword [ebp + 0xc]
test esi, esi
je 0x5d0a15
mov ecx, dword [ebp + 0x10]
imul eax, ebx, 0xc
sub edi, 0xffffff80
mov dword [esi + eax + 4], edx
mov dword [esi + eax + 8], ecx
mov ecx, edi
lock or dword [esi + eax + 0xc], 1
call fcn.005c536f
jmp 0x5d0af6
cmp dl, 5
je 0x5d0ad6
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
jmp 0x5d0a5b
cmp dl, 5
je 0x5d0af6
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
jmp 0x5d0ae6
lea ecx, [esp + 0x10]
call fcn.005c500f
cmp byte [ebx + 0x38], 0
je 0x5d0b0e
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
movzx edx, byte [esp + 0xc]
mov dword [esp + 0x18], ecx
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.004bd038
xor eax, eax
inc eax
jmp 0x5d0ad9
mov esi, dword [esp + 0xc]
mov ebx, dword [ebp + 0xc]
inc ecx
add edi, 0xb0
lea eax, [esi + edx]
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x44], ecx
mov dword [esi + edx], ebx
mov dword [esi + edx + 4], eax
mov dword [esi + edx + 8], ecx
mov ecx, edi
call fcn.005c536f
jmp 0x5d0ad6
cmp ebx, 0x1e
jne 0x5d0b05
mov eax, dword [esp + 0xc]
mov edx, dword [ebp + 0xc]
test eax, eax
je 0x5d0ce1
mov dword [edi + 0x44], eax
lock add dword [edi + 0x40], 2
mov dword [esi], eax
push 0x1e
pop ebx
jmp 0x5d09d8
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
cmp cl, 5
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], eax
jne 0x5d0cce
lea ecx, [esp + 0x40]
call fcn.005c3393
push 2
pop eax
cmp eax, 2
je 0x5d0af6
test eax, eax
je 0x5d0cbc
movsd xmm0, qword [esp + 0x14]
mov eax, dword [esp + 0x5c]
movsd qword [eax], xmm0
jmp 0x5d0afd
mov eax, dword [esp + 0x5c]
mov byte [eax], 5
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, dword [esp + 0xc]
jmp 0x5d09ce
call fcn.005c28f0
test eax, eax
je 0x5d0bc0
mov ecx, dword [eax]
and dword [eax], 0
mov dword [esp + 0x34], ebx
test ecx, ecx
je 0x5d0bc8
mov edx, ebx
mov ebx, eax
lea eax, [esp + 0x38]
lea esi, [esp + 0x40]
mov dword [eax], ecx
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
mov dword [esp + 0x1c], ecx
mov ecx, dword [ebp + 0x10]
mov dword [esi + 4], ecx
mov ecx, dword [ebp + 0xc]
mov dword [esi], ecx
lea ecx, [esp + 0x60]
mov dword [esi + 8], ecx
lea ecx, [esp + 0x20]
mov dword [esi + 0xc], ecx
mov cl, byte [esp + 0xc]
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], edx
mov edx, esi
mov byte [esi + 0x18], cl
movzx ecx, word [esp + 0x31]
mov word [esi + 0x19], cx
mov cl, byte [esp + 0x33]
mov byte [esi + 0x1b], cl
lea ecx, [esp + 0x10]
push eax
call fcn.005d0d00
pop eax
mov eax, dword [ebx]
mov ecx, dword [esp + 0x1c]
mov dword [esi], eax
mov dword [ebx], ecx
lea ecx, [esp + 0x40]
call fcn.005c500f
mov eax, dword [esp + 0x10]
cmp eax, 3
je 0x5d0c11
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edx
jmp 0x5d0ad9
mov esi, ebx
mov bl, byte [esp + 0xc]
jmp 0x5d0c17
call fcn.00633bd0
lea esi, [esp + 0x38]
lea edx, [esp + 0x40]
mov cl, byte [esp + 0xc]
mov dword [esi], eax
mov eax, dword [ebp + 0x10]
mov dword [edx + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [edx], eax
lea eax, [esp + 0x60]
mov dword [edx + 8], eax
lea eax, [esp + 0x20]
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], edi
mov dword [edx + 0x14], ebx
mov byte [edx + 0x18], cl
lea ecx, [esp + 0x10]
push esi
call fcn.005d0d00
pop eax
mov ecx, esi
call fcn.005c3393
jmp 0x5d0ba2
mov esi, dword [esp + 0x34]
mov bl, 2
call fcn.00633bd0
cmp bl, 2
mov dword [esp + 0x38], eax
je 0x5d0ceb
mov eax, dword [ebp + 0xc]
lea edx, [esp + 0x40]
mov cl, byte [esp + 0x33]
mov dword [edx], eax
mov eax, dword [ebp + 0x10]
mov dword [edx + 4], eax
lea eax, [esp + 0x60]
mov dword [edx + 8], eax
lea eax, [esp + 0x20]
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], edi
mov dword [edx + 0x14], esi
movzx esi, word [esp + 0x31]
mov byte [edx + 0x18], bl
lea edi, [esp + 0x10]
mov byte [edx + 0x1b], cl
mov ecx, edi
mov word [edx + 0x19], si
lea esi, [esp + 0x38]
push esi
call fcn.005d0d00
pop eax
mov ecx, esi
call fcn.005c3393
mov eax, dword [edi]
jmp 0x5d0ad9
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x18], eax
xor eax, eax
jmp 0x5d0ad9
mov eax, dword [esp + 0x44]
mov cl, byte [esp + 0x48]
lea esi, [esp + 0x10]
mov dword [esi], eax
mov byte [esi + 4], cl
push 0x2b
pop edx
mov ecx, str.called__Result::unwrap____on_an__Err__value
push 0x787e60
push 0x788320
push esi
call fcn.0062d770
push 0x28
pop edx
mov ecx, str.internal_error:_entered_unreachable_codeC:Users9B6E629E7D13D387.cargo_registry_src_rsproxy.cn_0dccff568467c15b_rustls_webpki_0.101.7_srccalendar.rs
push 0x787cd8
call fcn.0062d4b0
lea ecx, [esp + 0x38]
call fcn.005d20b2
mov ecx, 0x787e70
call fcn.0062d7f0
mov ecx, 0x787d3c
call fcn.0062d7f0
mov ecx, 0x78808c
call fcn.0062d7f0