Function at 0x40aef8
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x18c
mov edi, ecx
lea esi, [ebp - 0x13c]
mov edx, str.RUST_LOGRUST_LOG_STYLEenv_logger::init_should_not_be_called_after_logger_initialized_f7U
mov ecx, esi
push 8
call fcn.004a4e10
add esp, 4
mov bl, byte [esi + 0xc]
cmp bl, 2
je 0x40b0e8
cmp dword [ebp - 0x138], 0
je 0x40af45
push dword [ebp - 0x13c]
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
cmp bl, 3
jne 0x40b0e8
mov eax, edi
test al, al
je 0x40af7b
lea ecx, [ebp - 0x13c]
xor eax, eax
mov dword [ecx], str.websocat:_RUST_LOG_environment_variable_overrides_any__v_n
mov dword [ecx + 4], 1
mov dword [ecx + 0x10], eax
mov dword [ecx + 8], str.failed_to_write_whole_buffer
mov dword [ecx + 0xc], eax
call fcn.004aa010
lea esi, [ebp - 0x148]
xor ebx, ebx
lea eax, [ebp - 0x120]
lea edx, [ebp - 0x13c]
mov dword [ebp - 0xd8], 4
mov ecx, esi
mov dword [ebp - 0xd4], ebx
mov dword [ebp - 0xd0], ebx
mov dword [ebp - 0xcc], ebx
mov byte [ebp - 0xc0], bl
mov dword [ebp - 0xec], 1
mov dword [ebp - 0xe8], ebx
mov dword [ebp - 0xe0], 0x1010001
mov byte [ebp - 0xdc], bl
mov dword [eax - 0x1c], ebx
mov dword [eax - 0xc], ebx
mov dword [eax - 8], 0x553788
mov dword [eax - 4], 8
mov dword [eax], ebx
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], 0x553790
mov byte [ebp - 0xbc], bl
mov dword [eax + 0x18], 0xe
call fcn.00453198
mov edx, dword [esi]
test edx, edx
je 0x40b781
mov eax, dword [ebp - 0x140]
mov ecx, 0x2f
lea esi, [ebp - 0x198]
mov dword [ebp - 0xf4], edx
mov dword [ebp - 0x40], 4
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x64], edx
mov dword [esi], ecx
mov dword [esi + 4], edx
mov dword [esi + 8], eax
mov dword [esi + 0xc], ebx
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 1
mov dword [esi + 0x18], ecx
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x20], eax
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0x144]
mov ecx, esi
mov word [esi + 0x24], 1
mov dword [ebp - 0x60], eax
call fcn.00469892
mov ecx, esi
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], edx
call fcn.00469892
mov ecx, esi
mov edi, eax
mov ebx, edx
call fcn.00469892
test eax, eax
je 0x40b1d6
lea ecx, [ebp - 0xa0]
lea eax, [ebp - 0xf4]
lea edx, [ebp - 0x170]
xor esi, esi
mov dword [edx], eax
mov dword [ecx], 0x55355c
mov dword [ecx + 4], 2
mov dword [ecx + 0x10], esi
mov dword [ecx + 8], edx
mov dword [edx + 4], 0x41de0f
mov dword [ecx + 0xc], 1
call fcn.004aa010
mov dword [ebp - 0xcc], esi
mov edx, 4
mov dword [ebp - 0x20], 4
mov edi, 4
jmp 0x40b74a
mov eax, edi
movzx ecx, al
add ecx, 2
cmp al, 3
mov eax, 5
cmovb eax, ecx
lea ecx, [eax - 2]
cmp ecx, 4
jae 0x40b891
xor ebx, ebx
mov dword [esi + 0x14], 4
mov ecx, esi
mov edx, 0x59a89b
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x20], ebx
mov byte [esi + 0x2c], bl
mov dword [esi], 1
mov dword [esi + 4], ebx
mov dword [esi + 0xc], 0x1010001
mov byte [esi + 0x10], bl
mov byte [esi + 0x30], bl
push eax
call fcn.00453280
add esp, 4
mov ecx, esi
xor edx, edx
push 2
call fcn.00453280
add esp, 4
mov ecx, esi
call fcn.004532ec
mov edi, dword [esi + 0x14]
mov edx, dword [esi + 0x1c]
mov byte [ebp - 0x14], al
mov ecx, edi
call fcn.00452f08
cmp dword [esi + 0x18], ebx
je 0x40b179
push edi
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
mov eax, dword [ebp - 0x11c]
test eax, eax
je 0x40b19a
cmp dword [ebp - 0x118], 0
je 0x40b19a
push eax
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
mov esi, dword [ebp - 0x138]
test esi, esi
je 0x40b1cd
mov edi, dword [ebp - 0x134]
push esi
call dword [edi]
add esp, 4
cmp dword [edi + 4], 0
je 0x40b1cd
cmp dword [edi + 8], 9
jb 0x40b1bf
mov esi, dword [esi - 4]
push esi
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
movzx eax, byte [ebp - 0x14]
jmp 0x40b87f
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x48], 0
test edx, edx
je 0x40b63d
lea ebx, [ebp - 0x170]
mov eax, 0x2c
mov esi, ecx
mov dword [ebp - 0x20], 4
mov dword [ebp - 0x2c], 0
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov dword [ebx + 8], ecx
xor ecx, ecx
mov dword [ebx + 0xc], ecx
mov dword [ebx + 0x10], esi
mov dword [ebx + 0x14], 1
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], ecx
mov dword [ebx + 0x20], esi
mov word [ebx + 0x24], 1
mov ecx, ebx
call fcn.00469892
test eax, eax
je 0x40b62f
test edx, edx
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xf8], edx
je 0x40b232
mov ecx, 0x3d
lea edi, [ebp - 0xa0]
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0x9c], eax
xor eax, eax
mov dword [ebp - 0x98], edx
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x90], edx
mov dword [ebp - 0x8c], 1
mov dword [ebp - 0x88], ecx
mov ecx, edi
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], edx
mov word [ebp - 0x7c], 1
call fcn.00469892
mov ecx, edi
mov esi, eax
mov dword [ebp - 0x24], edx
call fcn.00469892
test eax, eax
je 0x40b3c2
lea ecx, [eax + edx]
test edx, edx
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x14], ecx
mov cl, 1
mov dword [ebp - 0x1c], ecx
je 0x40b416
xor ebx, ebx
mov edx, eax
movzx eax, byte [edx]
mov ecx, edx
mov esi, ebx
test al, al
js 0x40b2e3
lea edx, [ecx + 1]
jmp 0x40b342
movzx edi, byte [ecx + 1]
mov dword [ebp - 0x10], esi
mov esi, eax
and esi, 0x1f
and edi, 0x3f
cmp al, 0xdf
jbe 0x40b329
movzx ebx, byte [ecx + 2]
shl edi, 6
and ebx, 0x3f
or ebx, edi
cmp al, 0xf0
jb 0x40b335
movzx eax, byte [ecx + 3]
and esi, 7
shl ebx, 6
lea edx, [ecx + 4]
shl esi, 0x12
and eax, 0x3f
or eax, ebx
or eax, esi
cmp eax, 0x110000
jne 0x40b33f
jmp 0x40b5c0
shl esi, 6
lea edx, [ecx + 2]
or esi, edi
mov eax, esi
jmp 0x40b33f
shl esi, 0xc
lea edx, [ecx + 3]
or ebx, esi
mov eax, ebx
mov esi, dword [ebp - 0x10]
mov ebx, edx
sub ebx, ecx
lea ecx, [eax - 9]
add ebx, esi
cmp ecx, 5
jae 0x40b35e
cmp edx, dword [ebp - 0x14]
jne 0x40b2d3
jmp 0x40b40a
cmp eax, 0x20
je 0x40b350
cmp eax, 0x80
jb 0x40b3b3
mov ecx, eax
shr ecx, 8
cmp ecx, 0x1f
jg 0x40b386
test ecx, ecx
je 0x40b399
cmp ecx, 0x16
jne 0x40b3b3
cmp eax, 0x1680
je 0x40b350
jmp 0x40b3b3
cmp ecx, 0x20
je 0x40b3a7
cmp ecx, 0x30
jne 0x40b3b3
cmp eax, 0x3000
je 0x40b350
jmp 0x40b3b3
movzx eax, al
test byte [eax + 0x56cff4], 1
jne 0x40b350
jmp 0x40b3b3
movzx eax, al
test byte [eax + 0x56cff4], 2
jne 0x40b350
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], ebx
jmp 0x40b421
lea ecx, [ebp - 0xa0]
call fcn.00469892
test esi, esi
je 0x40b56f
test eax, eax
jne 0x40b56f
mov edx, dword [ebp - 0x24]
mov ecx, esi
mov dword [ebp - 0x34], esi
call fcn.0046a65f
mov esi, 5
cmp eax, 6
je 0x40b5d1
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x2c]
xor edi, edi
mov esi, eax
mov dword [ebp - 0x24], ecx
jmp 0x40b5f0
mov dword [ebp - 0x18], 0
jmp 0x40b526
mov edx, eax
xor ebx, ebx
mov dword [ebp - 0x18], 0
cmp edx, dword [ebp - 0x14]
je 0x40b51d
mov dword [ebp - 0x4c], edx
mov esi, dword [ebp - 0x14]
movzx eax, byte [esi - 1]
test al, al
js 0x40b440
lea ecx, [esi - 1]
mov dword [ebp - 0x14], ecx
jmp 0x40b4a8
movzx ecx, byte [esi - 2]
cmp cl, 0xc0
jge 0x40b476
movzx edx, byte [esi - 3]
cmp dl, 0xc0
mov dword [ebp - 0x28], edx
jge 0x40b481
lea edi, [esi - 4]
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x14], edi
movzx edi, byte [esi - 4]
and edx, 0x3f
and edi, 7
shl edi, 6
mov dword [ebp - 0x68], edi
add edx, dword [ebp - 0x68]
mov dword [ebp - 0x28], edx
jmp 0x40b48b
lea edi, [esi - 2]
and ecx, 0x1f
mov dword [ebp - 0x14], edi
jmp 0x40b499
and dword [ebp - 0x28], 0xf
lea edi, [esi - 3]
mov dword [ebp - 0x14], edi
mov edi, dword [ebp - 0x28]
mov edx, dword [ebp - 0x4c]
and ecx, 0x3f
shl edi, 6
or ecx, edi
shl ecx, 6
and eax, 0x3f
or eax, ecx
cmp eax, 0x110000
je 0x40b51d
lea ecx, [eax - 9]
cmp ecx, 5
jae 0x40b4bb
cmp edx, dword [ebp - 0x14]
jne 0x40b42d
jmp 0x40b51d
cmp eax, 0x20
je 0x40b4b0
cmp eax, 0x80
jb 0x40b510
mov ecx, eax
shr ecx, 8
cmp ecx, 0x1f
jg 0x40b4e3
test ecx, ecx
je 0x40b4f6
cmp ecx, 0x16
jne 0x40b510
cmp eax, 0x1680
je 0x40b4b0
jmp 0x40b510
cmp ecx, 0x20
je 0x40b504
cmp ecx, 0x30
jne 0x40b510
cmp eax, 0x3000
je 0x40b4b0
jmp 0x40b510
movzx eax, al
test byte [eax + 0x56cff4], 1
jne 0x40b4b0
jmp 0x40b510
movzx eax, al
test byte [eax + 0x56cff4], 2
jne 0x40b4b0
sub ebx, edx
add ebx, esi
cmp byte [ebp - 0x1c], 0
mov dword [ebp - 0x18], ebx
jmp 0x40b521
cmp byte [ebp - 0x1c], 0
mov esi, dword [ebp - 0x10]
je 0x40b528
xor esi, esi
lea ecx, [ebp - 0xa0]
call fcn.00469892
cmp dword [ebp - 0x34], 0
lea ebx, [ebp - 0x170]
je 0x40b56f
test eax, eax
jne 0x40b56f
mov edx, dword [ebp - 0x18]
cmp edx, esi
je 0x40b5c8
mov ecx, dword [ebp - 0x6c]
sub edx, esi
add ecx, esi
mov dword [ebp - 0x104], ecx
mov dword [ebp - 0x100], edx
call fcn.0046a65f
cmp eax, 6
jne 0x40b5cf
lea eax, [ebp - 0x104]
jmp 0x40b575
lea eax, [ebp - 0xfc]
lea ecx, [ebp - 0x54]
mov dword [ebp - 0xb8], 0x55357c
mov dword [ebp - 0xb4], 2
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], 0x41de0f
mov dword [ebp - 0xb0], ecx
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0xac], 1
call fcn.004aa010
jmp 0x40b232
mov ebx, dword [ebp - 0x10]
jmp 0x40b41a
mov esi, 5
jmp 0x40b5d1
mov esi, eax
mov edi, dword [ebp - 0x24]
mov ecx, edi
call fcn.004c5cd9
mov dword [ebp - 0x5c], edx
push edi
mov edi, eax
push dword [ebp - 0x34]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov edx, dword [ebp - 0x38]
cmp edx, dword [ebp - 0x3c]
jne 0x40b600
lea ecx, [ebp - 0x40]
call fcn.00452e6a
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x40]
mov eax, edx
inc edx
shl eax, 4
mov dword [ebp - 0x2c], edx
mov dword [ecx + eax], esi
mov dword [ecx + eax + 4], edi
mov esi, dword [ebp - 0x5c]
mov edi, dword [ebp - 0x24]
mov dword [ebp - 0x20], ecx
mov dword [ecx + eax + 8], esi
mov dword [ecx + eax + 0xc], edi
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x58], edi
jmp 0x40b232
mov ecx, dword [ebp - 0x30]
mov edi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x44]
mov ebx, dword [ebp - 0x2c]
jmp 0x40b64a
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x44]
mov edi, 4
xor ebx, ebx
test eax, eax
je 0x40b66f
mov edi, ecx
mov ebx, eax
call fcn.004c5cd9
mov esi, edx
push edi
push ebx
mov dword [ebp - 0x48], eax
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov edi, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x38]
jmp 0x40b66f
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0xcc]
test eax, eax
je 0x40b69e
cmp dword [ebp - 0xc8], 0
je 0x40b69e
push eax
push 0
push dword [0x5c9128]
mov edi, ebx
call sub.kernel32.dll_HeapFree
mov edi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x30]
mov edx, ebx
shl edx, 4
add edx, edi
test ebx, ebx
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], esi
mov dword [ebp - 0xc4], ecx
je 0x40b747
add edi, 0x10
mov dword [ebp - 0x14], edx
mov esi, dword [edi - 0x10]
cmp esi, 6
je 0x40b747
mov edx, dword [ebp - 0xd0]
lea ebx, [edi - 0x10]
movsd xmm0, qword [ebx + 4]
mov eax, dword [ebx + 0xc]
cmp edx, dword [ebp - 0xd4]
mov dword [ebp - 0x98], eax
movsd qword [ebp - 0xa0], xmm0
jne 0x40b70b
lea ecx, [ebp - 0xd8]
call fcn.00452e6a
mov edx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xd8]
mov ecx, edx
inc edx
add ebx, 0x10
add edi, 0x10
shl ecx, 4
mov dword [eax + ecx], esi
movsd xmm0, qword [ebp - 0xa0]
movsd qword [eax + ecx + 4], xmm0
mov esi, dword [ebp - 0x98]
mov dword [eax + ecx + 0xc], esi
mov dword [ebp - 0xd0], edx
mov edx, dword [ebp - 0x14]
cmp ebx, edx
jne 0x40b6cb
mov edi, edx
mov esi, dword [ebp - 0x10]
sub edx, edi
mov ecx, edi
shr edx, 4
call fcn.00452f08
test esi, esi
je 0x40b76a
push dword [ebp - 0x20]
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
cmp dword [ebp - 0x60], 0
mov eax, dword [ebp - 0x64]
je 0x40b781
push eax
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
lea esi, [ebp - 0xa0]
lea edx, [ebp - 0x120]
mov ecx, esi
call fcn.00453198
mov eax, dword [esi]
test eax, eax
je 0x40b806
mov edx, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x9c]
cmp edx, 6
je 0x40b7d3
cmp edx, 5
je 0x40b7bd
cmp edx, 4
jne 0x40b7ec
cmp dword [eax], 0x6f747561
jmp 0x40b7ec
mov edx, 0x6576656e
movzx esi, byte [eax + 4]
xor edx, dword [eax]
xor esi, 0x72
or esi, edx
jne 0x40b7ec
mov dl, 2
jmp 0x40b7ee
mov edx, 0x61776c61
movzx esi, word [eax + 4]
xor edx, dword [eax]
xor esi, 0x7379
or esi, edx
je 0x40b88a
xor edx, edx
test ecx, ecx
mov byte [ebp - 0xe9], dl
je 0x40b806
push eax
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
lea ebx, [ebp - 0xa0]
lea esi, [ebp - 0xec]
mov ecx, 0xd
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
lea esi, [ebp - 0x13c]
mov ecx, esi
call fcn.0045323c
lea ecx, [ebp - 0x120]
call fcn.0045323c
mov ecx, ebx
call fcn.004532ec
lea edi, [ebp - 0x8c]
mov ebx, eax
mov ecx, edi
call fcn.0045316d
mov eax, dword [edi + 0xc]
test eax, eax
je 0x40b864
cmp dword [ebp - 0x7c], 0
je 0x40b864
push eax
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
mov ecx, dword [ebp - 0x9c]
test ecx, ecx
je 0x40b879
mov edx, dword [ebp - 0x98]
call fcn.00534cdb
test bl, bl
jne 0x40b8aa
xor eax, eax
add esp, 0x18c
pop esi
pop edi
pop ebx
pop ebp
ret
mov dl, 1
jmp 0x40b7ee
mov ecx, str.called__Option::unwrap____on_a__None__value_home_vi_.cargo_registry_src_index.crates.io_6f17d22bba15001f_url_1.7.2_src_lib.rsURL_has_no_host
mov edx, 0x2b
push 0x5427b8
call fcn.00445340
add esp, 4
ud2
mov ecx, 0x55379e
mov edx, 0x3e
push 0x5537dc
push 0x553458
push esi
call fcn.00447310
add esp, 0xc
ud2