Function at 0x408088
Capabilities:
Access peb ldr_data
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x708
mov esi, esp
mov dword [esi + 0x6f0], ebp
lea eax, [esi + 0x6f8]
mov dword [esi + 0x30], ecx
mov dword [esi + 0xc], edx
mov edx, dword [ebp + 8]
mov dword [eax - 4], esp
or dword [eax + 8], 0xffffffff
mov dword [eax + 4], 0x503300
mov ecx, dword fs:[0]
mov dword [eax], ecx
mov dword fs:[0], eax
and dword [eax + 8], 0
mov eax, dword [ebp + 0xc]
mov byte [esi + 5], 1
lea ecx, [esi + 0x298]
push eax
call fcn.004be51b
pop eax
cmp dword [esi + 0x298], 2
jne 0x408111
mov eax, dword [esi + 0x29c]
mov ecx, 0x569370
mov dword [esi + 0x3c], eax
call fcn.00404e52
mov dword [esi + 0x14], 0
push 3
pop eax
mov dword [esi + 0x10], eax
jmp 0x4081c9
mov ecx, dword [esi + 0x2ac]
mov eax, dword [esi + 0x2a8]
mov dword [esi + 0x700], 0xc
mov dword [esi + 0x38], ecx
lea ecx, [esi + 0xa0]
mov dword [esi + 0x34], eax
call fcn.0044a113
lea eax, [esi + 0x2b0]
mov ecx, 0x1010101
lea edi, [esi + 0x40]
lea ebx, [esi + 0x1c8]
movsd xmm0, qword [eax - 0x18]
movsd xmm1, qword [eax - 0x10]
mov dword [edi + 0x20], ecx
mov dword [edi + 0x1c], ecx
mov dword [edi + 0x18], ecx
mov dword [edi + 0x14], ecx
mov dword [edi + 0x10], ecx
lea ecx, [esi + 0x198]
movsd qword [ebx + 0x34], xmm0
movsd qword [ebx + 0x3c], xmm1
push 0x30
push eax
push ecx
call fcn.005282a0
add esp, 0xc
lea eax, [esi + 0xac]
mov ecx, dword [eax - 0xc]
mov edx, dword [eax - 4]
mov dword [esi + 0x10], ecx
mov ecx, dword [eax - 8]
mov dword [esi + 0x3c], edx
mov dword [esi + 0x14], ecx
push 0x34
push eax
push ebx
call fcn.005282a0
add esp, 0xc
lea eax, [esi + 0x6ac]
push 0x44
push ebx
push eax
call fcn.005282a0
add esp, 0xc
lea eax, [esi + 0x174]
push 0x24
push edi
push eax
call fcn.005282a0
add esp, 0xc
mov eax, dword [esi + 0xc]
lock inc dword [eax]
jle 0x408741
lea ecx, [esi + 0x6ac]
mov edi, eax
lea eax, [esi + 0xac]
push 0x44
push ecx
push eax
call fcn.005282a0
add esp, 0xc
lea ecx, [esi + 0xf8]
lea eax, [esi + 0x198]
push 0x30
push eax
push ecx
call fcn.005282a0
add esp, 0xc
lea ebx, [esi + 0x13c]
lea eax, [esi + 0x174]
push 0x24
push eax
push ebx
call fcn.005282a0
add esp, 0xc
mov dword [ebx + 0x2c], edi
mov edi, dword [esi + 0x14]
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 0x3c]
lea ecx, [esi + 0xf8]
mov dword [ecx - 0x58], edx
mov dword [ecx - 0x54], edi
mov dword [ecx - 0x50], eax
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0x38]
xor edx, 3
mov dword [ebx - 0x4c], eax
mov dword [ebx - 0x48], ecx
mov dword [ebx - 0xc], 0x3b9aca00
and dword [ebx - 4], 0
or edx, edi
mov byte [ebx + 0x24], 2
je 0x408405
mov edx, dword [esi + 0xf8]
mov eax, dword [esi + 0x100]
mov byte [esi + 4], 1
mov dword [esi + 0x700], 1
push eax
call fcn.0046e1c7
pop ecx
mov ecx, eax
push 3
push 0x5b9389
call fcn.004cac32
pop ecx
pop edx
test al, al
je 0x408405
lea ecx, [esi + 0xe0]
mov byte [esi + 4], 1
call fcn.005013dd
mov edi, edx
mov byte [esi + 4], 1
lea ecx, [esi + 0x298]
mov edx, eax
add edi, eax
push edi
call fcn.0046b324
pop eax
mov eax, dword [esi + 0x298]
cmp eax, 0x80000001
je 0x408405
mov ecx, dword [esi + 0x29c]
mov edi, dword [esi + 0x2a0]
lea edx, [esi + 0x40]
mov byte [esi + 4], 1
mov dword [edx], eax
mov dword [edx + 4], ecx
lea ecx, [esi + 0x18]
mov dword [edx + 8], edi
call fcn.00421e90
lea ecx, [esi + 0xe0]
mov dword [esi + 0x700], 0xa
call fcn.00501414
mov bl, 1
mov ecx, 0x80000000
test eax, eax
je 0x40833c
mov edi, edx
lea ecx, [esi + 0x298]
mov edx, eax
add edi, eax
push edi
call fcn.0046b324
pop eax
mov eax, dword [esi + 0x298]
cmp eax, 0x80000001
jne 0x40833e
mov ecx, 0x80000000
mov bl, 1
jmp 0x40837b
jmp 0x40837b
lea edx, [esi + 0x298]
mov ecx, dword [edx + 4]
mov edi, dword [edx + 8]
mov dword [edx], eax
mov dword [edx + 4], ecx
lea ecx, [esi + 0x1c8]
mov dword [edx + 8], edi
call fcn.00421e90
mov ecx, dword [esi + 0x1c8]
mov eax, dword [esi + 0x1d0]
mov edx, dword [esi + 0x1cc]
cmp ecx, 0x80000000
mov dword [esi + 0x10], eax
sete bl
cmp dword [esi + 0x20], 0
jne 0x408397
test bl, bl
je 0x408397
call fcn.004bf293
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x1c]
call fcn.004caa30
jmp 0x408405
mov dword [esi + 0xc], ecx
lea ecx, [esi + 0xe0]
mov dword [esi + 0x14], edx
mov dword [esi + 0x700], 0xb
call fcn.00501111
movzx ecx, al
mov edx, str.has_authority_means_set_username_shouldnt_failC:UsersMark.cargo_registry_srcindex.crates.io_6f17d22bba15001f_reqwest_0.11.20_src_async_impl_request.rs
push 0x58d060
push 0x2f
call fcn.0048353e
pop eax
pop ecx
lea ecx, [esi + 0xe0]
call fcn.00501313
movzx ecx, al
mov edx, str.has_authority_means_set_password_shouldnt_fail
push 0x58d0a0
push 0x2f
call fcn.0048353e
pop eax
pop ecx
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x1c]
mov edx, dword [esi + 0x20]
cmp eax, 0x80000000
mov dword [esi + 0x84], edx
mov dword [esi + 0x80], ecx
jne 0x408430
lea eax, [esi + 0xa0]
push 0xd0
push eax
push dword [esi + 0x30]
call fcn.005282a0
add esp, 0xc
mov eax, dword [esi + 0x6f8]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esi + 0x74], eax
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x84]
mov dword [esi + 0x78], eax
lea eax, [esi + 0xa0]
mov dword [esi + 0x7c], ecx
lea ecx, [esi + 0x1c8]
push 0xd0
push eax
push ecx
call fcn.005282a0
add esp, 0xc
mov byte [esi + 0xa], 1
mov dword [esi + 0x700], 6
push 6
pop ecx
xor edx, edx
call fcn.00426da7
mov word [edx + 4], 0x2063
mov dword [edx], 0x69736142
and word [esi + 0x6a8], 0
lea edi, [esi + 0x88]
xor ebx, ebx
mov dword [edi], eax
mov dword [edi + 4], edx
mov dword [edi + 8], 6
mov byte [esi + 0x6aa], bl
push 0x400
push 0
lea eax, [esi + 0x298]
push eax
call fcn.00528820
add esp, 0xc
mov dword [esi + 0x6a4], 0x58d72d
mov dword [esi + 0x698], edi
and dword [esi + 0x69c], 0
and dword [esi + 0x6a0], 0
lea eax, [esi + 0x74]
mov dword [esi + 0x40], 0x58b2a8
mov dword [esi + 0x44], 2
and dword [esi + 0x50], 0
mov byte [esi + 0x6ab], bl
mov byte [esi + 8], 1
mov dword [esi + 0x700], 8
lea ecx, [esi + 0x64]
lea edx, [esi + 0x298]
mov dword [esi + 0x18], eax
lea eax, [esi + 0x18]
mov dword [esi + 0x1c], 0x407a88
mov dword [esi + 0x48], eax
lea eax, [esi + 0x40]
mov dword [esi + 0x4c], 1
push eax
call fcn.004b31a7
pop eax
lea ecx, [esi + 0x64]
mov byte [esi + 8], 1
call fcn.00474cb2
cmp dword [esi + 0xc], 0x80000000
mov al, 1
je 0x4085b5
mov eax, dword [esi + 0xc]
mov dword [esi + 0x40], 0x5b92cc
lea ecx, [esi + 0x64]
mov dword [esi + 0x700], 9
lea edx, [esi + 0x298]
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x14]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x20], eax
lea eax, [esi + 0x18]
mov dword [esi + 0x64], eax
xor eax, eax
mov dword [esi + 0x68], 0x407a88
inc eax
mov dword [esi + 0x44], eax
and dword [esi + 0x50], 0
mov dword [esi + 0x48], ecx
mov dword [esi + 0x4c], eax
lea eax, [esi + 0x40]
lea ecx, [esi + 0x98]
push eax
call fcn.004b31a7
pop eax
lea ecx, [esi + 0x98]
call fcn.00474cb2
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x1c]
call fcn.004caa30
xor eax, eax
lea ecx, [esi + 0x298]
mov dword [esi + 0x10], eax
mov byte [esi + 6], al
mov dword [esi + 0x700], 7
call fcn.004bdcf5
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0x90]
mov edx, dword [esi + 0x8c]
mov byte [esi + 6], cl
lea ecx, [esi + 0x298]
push eax
call fcn.004b3714
pop eax
mov eax, dword [esi + 0x10]
lea ecx, [esi + 0x40]
lea edx, [esi + 0x298]
mov byte [esi + 6], al
push 0x58d8f0
push 0x22
push str.base64_is_always_valid_HeaderValueC:UsersMark.cargo_registry_srcindex.crates.io_6f17d22bba15001f_reqwest_0.11.20_srcutil.rs
call fcn.004b3780
add esp, 0xc
mov byte [esi + 0x50], 1
mov ecx, dword [esi + 0x88]
mov edx, dword [esi + 0x8c]
movsd xmm0, qword [esi + 0x40]
movsd xmm1, qword [esi + 0x48]
mov eax, dword [esi + 0x50]
movsd qword [esi + 0x18], xmm0
movsd qword [esi + 0x20], xmm1
mov dword [esi + 0x28], eax
call fcn.004caa30
mov ecx, dword [esi + 0x74]
mov edx, dword [esi + 0x78]
call fcn.004caa30
push 0xd0
lea edi, [esi + 0x1c8]
push edi
lea eax, [esi + 0x298]
push eax
call fcn.005282a0
add esp, 0xc
mov eax, dword [esi + 0x298]
mov ecx, dword [esi + 0x29c]
and dword [esi + 0x70], 0
and dword [esi + 0x6c], 0
and dword [esi + 0x64], 0
mov dword [esi + 0x68], 0x10
xor eax, 3
mov dword [esi + 0x10], ecx
mov dword [esi + 0xc], eax
or eax, ecx
jne 0x4086d5
push 0xd0
push edi
push dword [esi + 0x30]
call fcn.005282a0
add esp, 0xc
lea ecx, [esi + 0x18]
mov byte [esi + 0xb], 0
mov dword [esi + 0x700], 4
call fcn.00404d44
lea ecx, [esi + 0x64]
mov byte [esi + 9], 0
mov dword [esi + 0x700], 3
call fcn.0044e7ee
jmp 0x40841c
movsd xmm0, qword [esi + 0x18]
movsd xmm1, qword [esi + 0x20]
movzx ecx, word [esi + 0x29]
mov al, 1
lea edx, [esi + 0x88]
mov dword [esi + 0x700], 4
and dword [edx + 0xc], 0
and dword [edx + 8], 0
and dword [edx], 0
mov byte [esi + 0xb], al
mov dword [edx + 4], 0x10
movsd qword [esi + 0x48], xmm1
movsd qword [esi + 0x40], xmm0
mov byte [esi + 0x50], al
mov word [esi + 0x51], cx
mov cl, byte [esi + 0x2b]
lea eax, [esi + 0x40]
mov byte [esi + 0x53], cl
lea ecx, [esi + 0x298]
push eax
call fcn.0043bb02
pop eax
push 0xd0
lea eax, [esi + 0x298]
jmp 0x408410
ud2