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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x1f8
mov eax, dword [edx]
mov esi, edx
mov ebx, ecx
call 0x4701b6
pop edi
test byte [eax + 0x254], 8
mov dword [esp + 0xc], eax
je 0x4701eb
mov ecx, dword [esp + 0xc]
call fcn.00462818
cmp byte [eax + 0x168], 2
je 0x4701eb
cmp dword [eax + 0x184], 0
jne 0x4701eb
mov cl, byte [eax + 0x1a4]
mov byte [eax + 0x17c], cl
mov edx, dword [esi]
mov dword [esp + 4], esi
lea esi, [esp + 0xc0]
mov ecx, esi
call fcn.004639b1
mov eax, dword [esi]
cmp eax, 8
jne 0x4702d3
mov eax, dword [esp + 0xcc]
test eax, eax
je 0x470b65
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0xc8]
mov dword [esp + 8], ecx
movzx ecx, byte [edx]
mov dword [esp + 0x18], edx
test ecx, ecx
je 0x47031f
cmp ecx, 0xfb
jne 0x4703a0
xor esi, esi
mov dword [esp], ebx
inc esi
mov ecx, esi
push 0x63f76c
push eax
call fcn.0049933e
pop ecx
pop ecx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x1c], edx
mov ecx, dword [eax]
call fcn.0046f617
mov edi, dword [eax + 0x1a8]
mov eax, 0xfffffb
mov edx, esi
add edi, 0xfffffffc
cmp edi, eax
cmovae edi, eax
mov ecx, edi
call fcn.00426eaa
lea ebx, [esp + 0x30]
mov ecx, ebx
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov dword [ebx + 8], edi
call fcn.004d84bf
mov esi, dword [esp + 0xc]
mov dword [esp + 0x10], edx
mov edi, eax
mov ecx, dword [esi + 0x228]
mov edx, dword [esi + 0x22c]
call fcn.00470c6d
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov ebx, edi
test eax, eax
je 0x470560
mov esi, dword [esp + 4]
mov edi, dword [esp]
jmp 0x470654
movsd xmm0, qword [esp + 0xd8]
movsd xmm1, qword [esp + 0xd0]
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0xc8]
mov esi, dword [esp + 0xcc]
movsd qword [ebx + 0x20], xmm0
movsd qword [ebx + 0x18], xmm1
mov dword [ebx + 0xc], ecx
mov dword [ebx + 0x10], edx
mov dword [ebx + 0x14], esi
mov dword [ebx + 8], eax
and dword [ebx + 4], 0
mov dword [ebx], 3
jmp 0x470a49
mov ecx, dword [esp + 4]
mov edi, edx
lea esi, [esp + 0xc0]
mov edx, dword [ecx]
mov ecx, esi
push eax
push edi
call fcn.0046c8e1
pop eax
pop ecx
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov edx, eax
xor edx, 2
or edx, ecx
jne 0x4704bc
movsd xmm0, qword [esp + 0xe0]
movsd xmm1, qword [esp + 0xd8]
movsd xmm2, qword [esp + 0xc8]
movsd xmm3, qword [esp + 0xd0]
movsd qword [esp + 0x48], xmm0
movsd qword [esp + 0x40], xmm1
movsd qword [esp + 0x38], xmm3
movsd qword [esp + 0x30], xmm2
movsd qword [ebx + 0x20], xmm0
movsd qword [ebx + 0x18], xmm1
movsd qword [ebx + 0x10], xmm3
movsd qword [ebx + 8], xmm2
jmp 0x470a30
mov esi, ecx
lea ecx, [edx + 1]
dec eax
mov dword [esp + 0x68], ecx
mov ecx, esi
mov esi, dword [esp + 4]
mov dword [esp + 0x6c], eax
cmp cl, 0xfb
jae 0x470534
mov dword [esp], ebx
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], ecx
call fcn.0046344d
lea ecx, [esp + 0x30]
xor edi, edi
xor ebx, ebx
mov dword [ecx], eax
mov dword [ecx + 4], edx
and dword [ecx + 8], 0
cmp edi, dword [esp + 0x1c]
mov eax, ebx
sbb eax, dword [esp + 0x20]
jae 0x470586
mov edx, dword [esi]
lea esi, [esp + 0xc0]
add edi, 1
mov ecx, esi
adc ebx, 0
call fcn.004639b1
mov ecx, dword [esp + 0xc4]
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0xc8]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0xcc]
cmp eax, 8
jne 0x4705d8
mov dword [esp + 0x88], edx
mov dword [esp + 0x14], edx
mov dword [esp + 0x8c], ecx
mov ecx, esi
lea edx, [esp + 0x88]
call fcn.00477f23
cmp dword [esp + 0xc0], 0
mov eax, dword [esp + 0xc4]
mov edx, dword [esp + 0xc8]
jne 0x47060b
push 0x1a
pop ecx
mov dword [esp + 0x24], edi
lea edi, [esp + 0x150]
lea esi, [esp + 0xcc]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x14c], edx
lea ecx, [esp + 0x30]
lea edx, [esp + 0x148]
mov dword [esp + 0x148], eax
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 4]
call fcn.00470cdf
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
call fcn.00563c9c
jmp 0x4703e2
movsd xmm4, qword [esp + 0xe8]
movsd xmm5, qword [esp + 0xf0]
movsd xmm0, qword [esp + 0xe0]
movsd xmm1, qword [esp + 0xd8]
movsd xmm2, qword [esp + 0xc8]
movsd xmm3, qword [esp + 0xd0]
lea edx, [esp + 0x1b8]
movsd qword [edx + 0x28], xmm4
movsd qword [edx + 0x30], xmm5
mov dword [edx + 4], ecx
mov ecx, ebx
mov dword [edx], eax
movsd qword [esp + 0x48], xmm0
movsd qword [esp + 0x40], xmm1
movsd qword [edx + 8], xmm2
movsd qword [edx + 0x10], xmm3
movsd qword [edx + 0x18], xmm1
movsd qword [edx + 0x20], xmm0
call fcn.0047846c
jmp 0x470998
add ecx, 0xffffff05
cmp ecx, 4
ja 0x470b73
push 2
pop eax
add edi, dword [ecx*4 + 0x470b88]
jmp edi
mov eax, dword [esi + 0x248]
mov ecx, dword [eax + 0x60]
test ecx, ecx
je 0x470634
mov edx, dword [eax + 0x64]
call fcn.0050495b
mov dword [esp + 0xc], eax
mov dword [esp + 0x14], edx
jmp 0x47063c
mov edx, dword [esi]
lea esi, [esp + 0xc0]
mov ecx, esi
call fcn.00470c7e
mov eax, dword [esi]
cmp eax, 8
jne 0x4709a5
mov eax, dword [esp + 0x20]
mov ecx, dword [esp]
or dword [esp + 0x1c], eax
mov eax, dword [esp + 0xc]
setne byte [eax + 0x257]
mov eax, dword [esp + 0x38]
movsd xmm0, qword [esp + 0x30]
mov dword [ecx + 0x10], eax
movsd qword [ecx + 8], xmm0
and dword [ecx + 4], 0
mov dword [ecx], 2
jmp 0x470998
mov esi, edx
movsd xmm0, qword [esp + 0xd0]
mov edx, dword [esp]
movsd xmm1, qword [esp + 0xd8]
mov edi, dword [esp + 0x10]
movsd qword [edx + 0x20], xmm1
movsd qword [edx + 0x18], xmm0
mov dword [edx + 0xc], edi
mov dword [edx + 0x10], esi
mov dword [edx + 0x14], ecx
jmp 0x4709dc
mov ecx, dword [esp]
and dword [ecx + 8], 0
mov dword [ecx + 0x10], edx
mov dword [ecx + 0xc], eax
and dword [ecx + 4], 0
mov dword [ecx], 3
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
call fcn.00563c9c
jmp 0x4709e9
mov dword [esp + 0xc], 0
mov esi, dword [esp + 4]
mov edi, dword [esp]
lea ecx, [esp + 0x30]
call fcn.00461578
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x138], eax
mov dword [esp + 0x13c], edx
mov dword [esp + 0x6c], ecx
and dword [esp + 0x74], 0
and dword [esp + 0x70], 0
test eax, eax
mov dword [esp + 0x78], esi
je 0x4707f9
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov ebx, dword [edx + 8]
cmp ebx, 5
push 4
pop esi
cmovae esi, ebx
dec esi
and esi, 0xfffffff8
lea ecx, [esi + eax + 8]
mov dword [esp + 0x10], ecx
push ecx
mov dword [esp + 0x18], edx
mov edi, eax
call sub.KERNEL32.DLL_AcquireSRWLockExclusive
lea ecx, [esi + edi + 0xc]
call fcn.0044af74
and dl, 1
test al, 1
jne 0x4706ff
mov esi, dword [esp + 0x10]
dec ebx
lea ecx, [esp + 0x68]
mov byte [esp + 0xc], dl
and ebx, 0xfffffffb
lea eax, [ebx + esi + 5]
push ecx
push dword [esp + 0x20]
push dword [esp + 0x2c]
push eax
lea eax, [esp + 0x40]
push eax
mov eax, dword [esp + 0x28]
call dword [eax + 0x10]
add esp, 0x14
cmp byte [esp + 0x30], 4
mov ecx, esi
jne 0x47073f
mov edi, dword [esp]
mov esi, dword [esp + 4]
jmp 0x470752
mov ecx, dword [esp + 0x10]
movzx edx, dl
call fcn.0045494f
mov edi, dword [esp]
mov dword [esp + 0x90], 3
mov dword [esp + 0x94], 0x8000000e
lea ecx, [esp + 0x28]
call fcn.0046159d
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
call fcn.004d622c
jmp 0x470956
mov eax, dword [esp + 0x30]
mov edi, dword [esp]
mov esi, dword [esp + 4]
cmp al, 4
jne 0x470a6f
movzx edx, byte [esp + 0xc]
call fcn.0045494f
lea ecx, [esp + 0x28]
call fcn.0046159d
mov ecx, dword [esp + 0x70]
test ecx, ecx
je 0x4707f9
mov edx, dword [esp + 0x68]
push 0x63f424
push dword [esp + 0x70]
call fcn.00450052
pop ecx
pop ecx
mov ecx, dword [esp + 0x78]
lea ebx, [esp + 0x140]
lea esi, [esp + 0x30]
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov edx, dword [ecx]
mov ecx, esi
push ebx
call fcn.00461d2a
pop eax
cmp dword [esi], 8
je 0x4707f5
push 0x20
pop ecx
push 8
pop edx
call fcn.0048b62b
movsd xmm0, qword [esp + 0x30]
movsd xmm1, qword [esp + 0x38]
lea esi, [esp + 0x28]
mov edx, eax
mov ecx, esi
movsd qword [eax], xmm0
movsd qword [eax + 8], xmm1
movsd xmm0, qword [esp + 0x40]
movsd qword [eax + 0x10], xmm0
movsd xmm0, qword [esp + 0x48]
movsd qword [eax + 0x18], xmm0
call fcn.00462fdd
cmp byte [esi], 4
jne 0x470b2e
mov esi, dword [esp + 4]
and dword [esp + 0x74], 0
and dword [esp + 0x70], 0
lea ebx, [esp + 0x68]
mov ecx, dword [ebx]
mov edx, dword [ebx + 4]
call fcn.004d622c
mov dword [ebx], 0x6c4590
mov edx, dword [esi]
and dword [ebx + 4], 0
lea esi, [esp + 0x30]
mov ecx, esi
push ebx
call fcn.00461d2a
pop eax
mov eax, dword [esi]
cmp eax, 8
jne 0x4708d6
mov eax, dword [esp + 4]
lea esi, [esp + 0x30]
mov ecx, esi
mov edx, dword [eax]
call fcn.004639b1
mov eax, dword [esi]
cmp eax, 8
jne 0x470910
mov eax, dword [esp + 4]
lea ebx, [esp + 0x30]
mov edi, dword [ebx + 4]
mov esi, dword [ebx + 8]
mov ecx, ebx
mov edx, dword [eax]
push dword [ebx + 0xc]
push esi
call fcn.0046c8e1
pop eax
pop ecx
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
mov edx, eax
xor edx, 2
or edx, ecx
jne 0x470a98
movsd xmm0, qword [esp + 0x50]
movsd xmm1, qword [esp + 0x48]
movsd xmm2, qword [esp + 0x38]
movsd xmm3, qword [esp + 0x40]
mov ecx, edi
mov edx, esi
movsd qword [esp + 0x80], xmm0
movsd qword [esp + 0x90], xmm2
movsd qword [esp + 0x98], xmm3
movsd qword [esp + 0xa0], xmm1
movsd qword [esp + 0xa8], xmm0
call fcn.00563c9c
mov edi, dword [esp]
jmp 0x470956
mov ecx, dword [esp + 0x4c]
movsd xmm0, qword [esp + 0x44]
movsd xmm2, qword [esp + 0x34]
movsd xmm1, qword [esp + 0x3c]
mov dword [esp + 0xac], ecx
movsd qword [esp + 0xa4], xmm0
movsd qword [esp + 0x9c], xmm1
movsd qword [esp + 0x94], xmm2
jmp 0x47094f
movsd xmm0, qword [esp + 0x40]
movsd xmm1, qword [esp + 0x48]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x3c]
movsd qword [esp + 0xa0], xmm0
movsd qword [esp + 0xa8], xmm1
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], esi
mov dword [esp + 0x90], eax
movsd xmm1, qword [esp + 0xa0]
movsd xmm0, qword [esp + 0xa8]
movsd xmm2, qword [esp + 0x90]
movsd qword [edi + 0x18], xmm1
movsd xmm1, qword [esp + 0x98]
movsd qword [edi + 0x20], xmm0
movsd qword [edi + 8], xmm2
movsd qword [edi + 0x10], xmm1
and dword [edi + 4], 0
mov dword [edi], 3
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 8]
jmp 0x470a44
mov edx, dword [esp]
mov ecx, dword [esp + 0xdc]
movsd xmm0, qword [esp + 0xd4]
movsd xmm2, qword [esp + 0xc4]
movsd xmm1, qword [esp + 0xcc]
mov dword [edx + 0x24], ecx
movsd qword [edx + 0x1c], xmm0
movsd qword [edx + 0x14], xmm1
movsd qword [edx + 0xc], xmm2
mov dword [edx + 8], eax
and dword [edx + 4], 0
mov dword [edx], 3
mov esi, dword [esp + 8]
lea ecx, [esp + 0x30]
call fcn.004618b3
jmp 0x470a3e
and dword [ebx + 4], 0
mov esi, dword [esp + 8]
mov dword [ebx], 3
mov edx, dword [esp + 0x18]
mov ecx, esi
call fcn.00563c9c
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, dword [esp + 0x34]
and dword [esp + 0x90], 0
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], edx
movzx edx, byte [esp + 0xc]
call fcn.0045494f
jmp 0x470724
movsd xmm4, qword [esp + 0x58]
movsd xmm5, qword [esp + 0x60]
movsd xmm0, qword [esp + 0x50]
movsd xmm1, qword [esp + 0x48]
movsd xmm2, qword [esp + 0x38]
movsd xmm3, qword [esp + 0x40]
lea edx, [esp + 0xc0]
lea ebx, [esp + 0x88]
movsd qword [edx + 0x28], xmm4
movsd qword [edx + 0x30], xmm5
mov dword [edx + 4], ecx
mov ecx, ebx
mov dword [edx], eax
movsd qword [esp + 0x80], xmm0
movsd qword [esp + 0x78], xmm1
movsd qword [edx + 8], xmm2
movsd qword [edx + 0x10], xmm3
movsd qword [edx + 0x18], xmm1
movsd qword [edx + 0x20], xmm0
call fcn.0047846c
mov ecx, edi
mov edx, esi
call fcn.00563c9c
mov eax, dword [ebx]
mov edi, dword [esp]
xor eax, 2
or eax, dword [ebx + 4]
je 0x470956
push 0xe
pop ecx
lea esi, [esp + 0x88]
rep movsd dword es:[edi], dword [esi]
jmp 0x470998
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 4]
cmp al, 4
je 0x4707f9
cmp al, 4
je 0x470803
mov ecx, dword [esp + 0x2c]
and dword [esp + 0x90], 0
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
jmp 0x47072d
xor ecx, ecx
xor edx, edx
push 0x63f75c
call fcn.0043a050
push 0x28
pop edx
mov ecx, str.internal_error:_entered_unreachable_codeC:Users_admin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_rustls_webpki_0.101.7_srccalendar.rs
push 0x63ebac
call fcn.0043a9e0
nop dword [eax]
cdq
add eax, dword [eax]
add byte [ecx + 8], cl
add byte [eax], al
inc edx
or byte [eax], al
add byte [esi + 8], al
add byte [eax], al
cdq
add eax, dword [eax]
add byte [ebp - 0x77], dl
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x18
mov eax, dword [edx]
mov edi, ecx
xor eax, 2
or eax, dword [edx + 4]
jne 0x470c38
mov eax, dword [edx + 0x10]
cmp eax, 0x124924a
jae 0x470c47
mov ecx, dword [edx + 8]
imul esi, eax, 0x70
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x1c], ecx
mov ecx, dword [edx + 0xc]
mov dword [ebp - 0x20], ecx
push 4
pop ecx
mov edx, esi
call fcn.00434e50
mov ecx, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edx
call fcn.004388c9
test eax, eax
je 0x470c62
mov ebx, eax
xor eax, eax
inc eax
mov dword [ebx], eax
mov dword [ebx + 4], eax
mov eax, ebx
add eax, 8
push esi
mov esi, dword [ebp - 0x20]
push esi
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x470c23
imul eax, eax, 0x70
push 4
pop edx
mov ecx, esi
push eax
call fcn.00408833
pop eax
mov eax, dword [ebp - 0x24]
mov dword [edi + 8], ebx
mov dword [edi + 0xc], eax
and dword [edi + 4], 0
mov dword [edi], 2
jmp 0x470c3f
push 0xe
pop ecx
mov esi, edx
rep movsd dword es:[edi], dword [esi]
add esp, 0x18
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [ebp - 0xd]
push 0x2b
pop edx
mov ecx, str.called__Result::unwrap____on_an__Err__value
push 0x63f14c
push 0x63efec
push eax
call fcn.0043f6f0
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
call fcn.00434230