Function at 0x438749
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xd4
lea eax, [ebp - 0x18]
mov ebx, ecx
mov esi, edx
mov dword [eax - 4], esp
or dword [eax + 8], 0xffffffff
mov dword [eax + 4], 0x4a9e60
mov ecx, dword fs:[0]
mov dword [eax], ecx
mov dword fs:[0], eax
mov dword [ebp - 0xb4], edx
mov eax, dword [edx + 0x50]
test eax, eax
je 0x438816
lea edi, [ebp - 0x68]
lea edx, [ebp - 0xb4]
mov ecx, edi
push dword [esi + 0x5c]
push dword [esi + 0x58]
push eax
call fcn.0043df4d
add esp, 0xc
mov al, byte [edi]
cmp al, 0x2c
jne 0x438838
mov eax, dword [ebp - 0x64]
mov edx, dword [esi + 0x60]
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0xb4]
test edx, edx
mov ecx, dword [eax + 0xa8]
mov eax, dword [eax + 0xb0]
mov dword [ebp - 0xcc], eax
je 0x43885f
mov edi, dword [esi + 0x6c]
test edi, edi
je 0x43885f
lea ebx, [ebp - 0x68]
mov dword [ebp - 0xc8], ecx
mov ecx, ebx
push dword [esi + 0x68]
call fcn.0043e5c9
pop eax
cmp dword [ebx], 0
je 0x438896
mov eax, dword [ebp - 0x60]
movsd xmm0, qword [ebp - 0x68]
mov dword [ebp - 0x34], eax
movsd qword [ebp - 0x3c], xmm0
jmp 0x4388a5
mov ecx, dword [esi + 0xa0]
mov eax, dword [esi + 0xa8]
mov edi, dword [esi + 0xb0]
test ecx, ecx
je 0x438873
cmp ecx, 1
jne 0x438878
mov esi, 0x1bb
jmp 0x43887e
mov cl, byte [ebp - 0x65]
mov edi, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x60]
mov byte [ebx + 3], cl
movzx ecx, word [ebp - 0x67]
mov word [ebx + 1], cx
mov byte [ebx], al
mov dword [ebx + 4], edx
mov dword [ebx + 0xc], edi
mov dword [ebx + 8], esi
jmp 0x439489
mov dword [ebp - 0x3c], 1
and dword [ebp - 0x38], 0
and dword [ebp - 0x34], 0
jmp 0x439099
push 0x50
pop esi
jmp 0x43887e
mov esi, dword [esi + 0xa4]
lea edx, [ebp - 0xb4]
mov ecx, ebx
push esi
push edi
push eax
call fcn.0043df4d
add esp, 0xc
jmp 0x439489
mov dword [ebp - 0x3c], 1
and dword [ebp - 0x38], 0
and dword [ebp - 0x34], 0
mov ecx, ebx
mov edx, edi
push dword [esi + 0x74]
call fcn.0043e5c9
pop eax
cmp dword [ebx], 0
je 0x4388c9
mov eax, dword [ebp - 0x60]
movsd xmm0, qword [ebp - 0x68]
mov dword [ebp - 0x70], eax
movsd qword [ebp - 0x78], xmm0
jmp 0x4388d8
mov dword [ebp - 0x78], 1
and dword [ebp - 0x74], 0
and dword [ebp - 0x70], 0
lea edx, [ebp - 0x68]
lea edi, [ebp - 0x3c]
lea eax, [ebp - 0xa4]
mov ecx, fcn.00408ed9
lea ebx, [ebp - 0x78]
mov dword [eax], edi
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ecx
mov dword [edx], 0x4dfd68
push 2
pop ecx
mov dword [edx + 4], ecx
and dword [edx + 0x10], 0
lea esi, [ebp - 0xc0]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, esi
call fcn.0043cb43
mov ecx, dword [ebx]
mov edx, dword [ebx + 4]
call fcn.004a8f7f
mov ecx, dword [edi]
mov edx, dword [edi + 4]
call fcn.004a8f7f
mov esi, dword [esi + 8]
push 3
pop ecx
mov eax, esi
xor edx, edx
div ecx
mov ecx, eax
mov ebx, edx
shl ecx, 2
test edx, edx
je 0x438f4c
add ecx, 4
setb al
cmp esi, 0xbfffffff
ja 0x438f58
test al, al
jne 0x438f58
xor edx, edx
mov dword [ebp - 0x30], ecx
inc edx
call fcn.004528c8
mov dword [ebp - 0xc4], edx
mov edx, dword [ebp - 0xc0]
mov ecx, esi
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x20], 0
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xb0], esi
mov dword [ebp - 0x40], edx
xor edx, edx
sub ecx, 0x1a
cmovb ecx, edx
mov dword [ebp - 0xd4], ecx
mov ecx, 0
jbe 0x438dc2
xor eax, eax
mov dword [ebp - 0x20], 0
mov esi, dword [ebp - 0x20]
lea edx, [eax + 0x1a]
mov ecx, eax
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xd8], edx
push 0x4d033c
push dword [ebp - 0xb0]
push dword [ebp - 0x40]
call fcn.00428725
add esp, 0xc
mov dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x28]
mov edi, eax
lea eax, [esi + 0x20]
push 0x4d034c
mov dword [ebp - 0x20], eax
push eax
push esi
call fcn.00428759
add esp, 0xc
mov dword [ebp - 0x24], edi
mov ecx, edi
mov edi, dword [ebp - 0x2c]
mov ebx, edx
mov esi, eax
mov edx, edi
push 0x4d035c
push 0
call fcn.0043394c
pop ecx
pop ecx
mov ecx, eax
call fcn.00428793
test ebx, ebx
je 0x439665
mov ecx, edx
shr ecx, 0x1a
cmp ebx, 1
mov cl, byte [ecx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [esi], cl
je 0x439673
mov ecx, edx
shr ecx, 0x14
and ecx, 0x3f
cmp ebx, 2
mov cl, byte [ecx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [esi + 1], cl
jbe 0x439682
mov ecx, edx
shr ecx, 0xe
and ecx, 0x3f
cmp ebx, 3
mov cl, byte [ecx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [esi + 2], cl
je 0x439691
mov ecx, edx
shr ecx, 8
and ecx, 0x3f
cmp ebx, 4
mov cl, byte [ecx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [esi + 3], cl
jbe 0x4396a0
mov ecx, edx
shr ecx, 2
and ecx, 0x3f
cmp ebx, 5
mov cl, byte [ecx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [esi + 4], cl
je 0x4396af
shld edx, eax, 4
and edx, 0x3f
cmp ebx, 6
mov cl, byte [edx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [esi + 5], cl
jbe 0x4396be
mov ecx, eax
shr ecx, 0x16
and ecx, 0x3f
cmp ebx, 7
mov cl, byte [ecx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [esi + 6], cl
je 0x4396cd
shr eax, 0x10
mov ecx, dword [ebp - 0x24]
mov edx, edi
and eax, 0x3f
mov al, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [esi + 7], al
push 0x4d03ec
push 6
call fcn.0043394c
pop ecx
pop ecx
mov ecx, eax
call fcn.00428793
cmp ebx, 8
jbe 0x4396dc
mov ecx, edx
shr ecx, 0x1a
cmp ebx, 9
mov cl, byte [ecx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [esi + 8], cl
je 0x4396eb
mov ecx, edx
shr ecx, 0x14
and ecx, 0x3f
cmp ebx, 0xa
mov cl, byte [ecx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [esi + 9], cl
jbe 0x4396fa
mov ecx, edx
shr ecx, 0xe
and ecx, 0x3f
cmp ebx, 0xb
mov cl, byte [ecx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [esi + 0xa], cl
je 0x439709
mov ecx, edx
shr ecx, 8
and ecx, 0x3f
cmp ebx, 0xc
mov cl, byte [ecx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [esi + 0xb], cl
jbe 0x439718
mov ecx, edx
shr ecx, 2
and ecx, 0x3f
cmp ebx, 0xd
mov cl, byte [ecx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [esi + 0xc], cl
je 0x439727
shld edx, eax, 4
and edx, 0x3f
cmp ebx, 0xe
mov cl, byte [edx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [esi + 0xd], cl
jbe 0x439736
mov ecx, eax
shr ecx, 0x16
and ecx, 0x3f
cmp ebx, 0xf
mov cl, byte [ecx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [esi + 0xe], cl
je 0x439745
shr eax, 0x10
mov ecx, dword [ebp - 0x24]
mov edx, edi
and eax, 0x3f
mov al, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [esi + 0xf], al
push 0x4d047c
push 0xc
call fcn.0043394c
pop ecx
pop ecx
mov ecx, eax
call fcn.00428793
cmp ebx, 0x10
jbe 0x439754
mov ecx, edx
shr ecx, 0x1a
cmp ebx, 0x11
mov cl, byte [ecx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [esi + 0x10], cl
je 0x439763
mov ecx, edx
shr ecx, 0x14
and ecx, 0x3f
cmp ebx, 0x12
mov cl, byte [ecx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [esi + 0x11], cl
jbe 0x439772
mov ecx, edx
shr ecx, 0xe
and ecx, 0x3f
cmp ebx, 0x13
mov cl, byte [ecx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [esi + 0x12], cl
je 0x439781
mov ecx, edx
shr ecx, 8
and ecx, 0x3f
cmp ebx, 0x14
mov cl, byte [ecx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [esi + 0x13], cl
jbe 0x439790
mov ecx, edx
shr ecx, 2
and ecx, 0x3f
cmp ebx, 0x15
mov cl, byte [ecx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [esi + 0x14], cl
je 0x43979f
shld edx, eax, 4
and edx, 0x3f
cmp ebx, 0x16
mov cl, byte [edx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [esi + 0x15], cl
jbe 0x4397ab
mov ecx, eax
shr ecx, 0x16
and ecx, 0x3f
cmp ebx, 0x17
mov cl, byte [ecx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [esi + 0x16], cl
je 0x4397b7
shr eax, 0x10
mov ecx, dword [ebp - 0x24]
mov edx, edi
and eax, 0x3f
mov al, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [esi + 0x17], al
push 0x4d050c
push 0x12
call fcn.0043394c
pop ecx
pop ecx
mov ecx, eax
call fcn.00428793
cmp ebx, 0x18
jbe 0x4397c3
mov ecx, edx
shr ecx, 0x1a
cmp ebx, 0x19
mov cl, byte [ecx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [esi + 0x18], cl
je 0x4397cf
mov ecx, edx
shr ecx, 0x14
and ecx, 0x3f
cmp ebx, 0x1a
mov cl, byte [ecx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [esi + 0x19], cl
jbe 0x4397db
mov ecx, edx
shr ecx, 0xe
and ecx, 0x3f
cmp ebx, 0x1b
mov cl, byte [ecx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [esi + 0x1a], cl
je 0x4397e7
mov ecx, edx
shr ecx, 8
and ecx, 0x3f
cmp ebx, 0x1c
mov cl, byte [ecx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [esi + 0x1b], cl
jbe 0x4397f3
mov ecx, edx
shr ecx, 2
and ecx, 0x3f
cmp ebx, 0x1d
mov cl, byte [ecx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [esi + 0x1c], cl
je 0x4397ff
shld edx, eax, 4
and edx, 0x3f
cmp ebx, 0x1e
mov cl, byte [edx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [esi + 0x1d], cl
jbe 0x43980b
mov ecx, eax
shr ecx, 0x16
and ecx, 0x3f
cmp ebx, 0x1f
mov cl, byte [ecx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [esi + 0x1e], cl
je 0x439817
shr eax, 0x10
and eax, 0x3f
mov al, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [esi + 0x1f], al
mov eax, dword [ebp - 0xd8]
add eax, 0xfffffffe
cmp eax, dword [ebp - 0xd4]
jbe 0x4389b7
mov ecx, dword [ebp - 0xd0]
mov ebx, dword [ebp - 0xac]
mov esi, dword [ebp - 0xb0]
add ecx, 0x18
mov eax, esi
sub eax, ebx
mov dword [ebp - 0x2c], eax
cmp ecx, dword [ebp - 0x2c]
jae 0x438eb3
lea edx, [ecx + 3]
mov dword [ebp - 0x24], edx
push 0x4d02ac
push esi
push dword [ebp - 0x40]
call fcn.00428725
add esp, 0xc
mov edi, eax
mov eax, dword [ebp - 0x20]
mov esi, edx
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x28]
lea ebx, [eax + 4]
push 0x4d02bc
push ebx
push eax
call fcn.00428759
add esp, 0xc
test esi, esi
je 0x4395f6
test edx, edx
je 0x439604
movzx ecx, byte [edi]
shr ecx, 2
cmp esi, 1
mov cl, byte [ecx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [eax], cl
jbe 0x439612
cmp edx, 1
jbe 0x439621
mov cl, byte [edi]
mov ch, byte [edi + 1]
shr ch, 4
shl cl, 4
or cl, ch
movzx ecx, cl
and ecx, 0x3f
cmp esi, 2
mov cl, byte [ecx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [eax + 1], cl
jbe 0x43962e
cmp edx, 2
jbe 0x43963d
mov cl, byte [edi + 1]
mov ch, byte [edi + 2]
shr ch, 6
shl cl, 2
or cl, ch
movzx ecx, cl
and ecx, 0x3f
cmp edx, 3
mov cl, byte [ecx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [eax + 2], cl
je 0x43964a
movzx ecx, byte [edi + 2]
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp - 0xac]
mov esi, dword [ebp - 0xb0]
and ecx, 0x3f
mov cl, byte [ecx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [eax + 3], cl
mov ecx, dword [ebp - 0x24]
jmp 0x438dc9
cmp ebx, 1
je 0x438f6f
mov edx, dword [ebp - 0x30]
mov edi, dword [ebp - 0x20]
cmp ebx, 2
jne 0x438fc1
cmp edi, edx
jae 0x439829
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
movzx ebx, byte [eax + edx]
inc edx
mov dword [ebp - 0x2c], edx
mov eax, ebx
shr eax, 2
cmp edx, esi
mov al, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [ecx + edi], al
jae 0x43983c
mov edx, edi
lea ecx, [edi + 1]
mov edi, dword [ebp - 0x30]
cmp ecx, edi
jae 0x43984f
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x2c]
shl bl, 4
mov esi, dword [ebp - 0x28]
mov al, byte [eax + ecx]
mov ecx, eax
shr cl, 4
or bl, cl
movzx ecx, bl
and ecx, 0x3f
mov cl, byte [ecx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [esi + edx + 1], cl
lea ecx, [edx + 2]
mov edx, edi
cmp ecx, edi
jae 0x439858
mov ebx, dword [ebp - 0xac]
shl al, 2
and al, 0x3c
push 3
jmp 0x438faa
cmp esi, 0xc0000000
jb 0x438963
push 0x2d
pop edx
mov ecx, str.integer_overflow_when_calculating_buffer_sizeC:UsersAdministrator.WIN7_2021OVWRCZ.cargo_registry_srcmirrors.ustc.edu.cn_12df342d903acd47_base64_0.12.3_srcencode.rsQ
push 0x4dfbcc
call fcn.004ca335
jmp 0x439826
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x20]
cmp ecx, edx
jae 0x439835
mov eax, dword [ebp - 0x40]
mov esi, dword [ebp - 0x2c]
movzx esi, byte [eax + esi]
mov edi, esi
shr esi, 2
mov al, byte [esi + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov esi, dword [ebp - 0x28]
mov byte [esi + ecx], al
inc ecx
cmp ecx, edx
jae 0x439848
mov eax, edi
shl al, 4
and al, 0x30
push 2
pop edi
movzx eax, al
mov esi, dword [ebp - 0x28]
mov al, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [esi + ecx], al
mov ecx, dword [ebp - 0x20]
add ecx, edi
mov edi, ecx
mov ecx, edx
sub ecx, edi
jb 0x43987e
mov eax, dword [ebp - 0x28]
mov esi, ebx
mov edx, edi
xor esi, 3
add eax, edi
xor edi, edi
test ebx, ebx
je 0x438ff0
cmp esi, edi
jbe 0x438ff0
cmp ecx, edi
je 0x439659
mov byte [eax + edi], 0x3d
inc edi
jmp 0x438fd9
add edx, edi
jb 0x43988f
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0x30]
lea esi, [ebp - 0x68]
lea edi, [ebp - 0xa4]
mov dword [esi], eax
mov dword [esi + 4], edx
mov dword [esi + 8], ecx
mov ecx, edi
mov edx, esi
call fcn.00407f07
cmp byte [edi + 0x10], 2
jne 0x4398a3
mov eax, dword [ebp - 0x9c]
movsd xmm0, qword [ebp - 0xa4]
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xbc]
mov dword [ebp - 0x70], eax
movsd qword [ebp - 0x78], xmm0
call fcn.004a8f7f
lea edx, [ebp - 0x68]
lea eax, [ebp - 0x78]
lea ecx, [ebp - 0x3c]
mov dword [edx], str.Proxy_Authorization:_basic__r_n
mov dword [edx + 4], 2
and dword [edx + 0x10], 0
mov dword [ebp - 0xa4], eax
mov dword [edx + 8], edi
mov dword [ebp - 0xa0], fcn.00408ed9
mov dword [edx + 0xc], 1
call fcn.0043cb43
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
call fcn.004a8f7f
mov ecx, dword [ebp - 0xc8]
mov esi, dword [ebp - 0xcc]
lea eax, [ebp - 0xe0]
mov edx, ecx
lea edi, [ebp - 0x68]
lea ebx, [ebp - 0x3c]
mov dword [eax], ecx
lea ecx, [ebp - 0xc0]
mov dword [ebp - 0x68], eax
mov dword [ecx], edx
mov dword [eax + 4], esi
mov dword [ecx + 4], esi
lea esi, [ebp - 0xa4]
mov eax, fcn.004a3427
mov dword [esi], str.CONNECT__HTTP_1.1_r_nHost:__r_nUser_Agent:_something_1.0.0_r_nProxy_Connection:_Keep_Alive_r_n
mov dword [esi + 4], 4
and dword [esi + 0x10], 0
mov dword [esi + 8], edi
lea edi, [ebp - 0x78]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], eax
mov eax, fcn.00408ed9
mov edx, esi
mov dword [ebp - 0x58], ebx
mov dword [esi + 0xc], 3
mov ecx, edi
mov dword [ebp - 0x54], eax
call fcn.0043cb43
mov ecx, dword [ebx]
mov edx, dword [ebx + 4]
call fcn.004a8f7f
xor ebx, ebx
mov dword [ebp - 0x68], 0x500cf4
mov eax, fcn.00408ed9
mov dword [esi], edi
lea edi, [ebp - 0x68]
lea edx, [ebp - 0x7c]
inc ebx
mov dword [esi + 4], eax
mov dword [ebp - 0x64], ebx
and dword [ebp - 0x58], 0
mov dword [ebp - 0x60], esi
lea esi, [ebp - 0x3c]
mov dword [ebp - 0x5c], ebx
mov ecx, esi
push edi
call fcn.0043dd53
pop eax
cmp byte [esi], 4
jne 0x43985f
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
call fcn.004a8f7f
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x28], ebx
mov dword [eax], 1
and dword [eax + 4], 0
and dword [eax + 8], 0
mov ecx, 0x100
mov edx, ebx
call fcn.004528c8
mov edi, edx
mov edx, dword [ebp - 0x7c]
mov esi, eax
lea ecx, [ebp - 0x68]
push 0x100
push eax
call fcn.0048aa70
pop eax
pop ecx
cmp byte [ebp - 0x68], 4
mov dword [ebp - 0x20], edi
jne 0x43919f
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x24], eax
jmp 0x4391b0
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp al, 4
jne 0x43924e
mov dword [ebp - 0x24], edx
lea ecx, [ebp - 0x3c]
mov edx, 0x100
call fcn.0045248e
mov eax, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x34]
mov ebx, 0x100
mov dword [ebp - 0x28], eax
add eax, edi
push ebx
push esi
push eax
call fcn.004ba8e0
add esp, 0xc
mov edx, dword [ebp - 0x20]
add edi, ebx
mov ecx, esi
mov dword [ebp - 0x34], edi
call fcn.004a8f7f
cmp dword [ebp - 0x24], ebx
mov ebx, 1
jae 0x43916b
mov eax, dword [ebp - 0x28]
lea esi, [ebp - 0x68]
lea edx, [ebp - 0xe0]
mov ecx, esi
mov dword [edx], eax
mov dword [edx + 4], edi
call fcn.0042d640
mov esi, dword [esi]
xor eax, eax
test esi, esi
je 0x43926e
mov ebx, dword [ebp - 0x64]
cmp dword [ebp - 0x5c], 0
je 0x439402
test edi, edi
mov dword [ebp - 0x24], esi
je 0x43927a
js 0x4398e3
mov al, byte [0x53cbf0]
xor edx, edx
mov ecx, edi
inc edx
call fcn.00425bd0
test eax, eax
jne 0x43927d
xor ecx, ecx
mov edx, edi
inc ecx
call fcn.004c8580
ud2
mov ecx, dword [ebp - 0xa8]
mov byte [ecx], 0x19
mov dword [ecx + 8], edx
mov dword [ecx + 4], eax
mov ecx, esi
mov edx, edi
call fcn.004a8f7f
mov ecx, dword [ebp - 0x28]
jmp 0x439478
mov esi, 0x500c58
xor ebx, ebx
jmp 0x439402
xor eax, eax
inc eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa0], edi
and dword [ebp - 0x9c], 0
xor esi, esi
cmp ebx, edi
jbe 0x4392bb
and dword [ebp - 0x10], 0
lea ecx, [ebp - 0xa4]
xor edx, edx
mov dword [ebp - 0x20], ebx
push ebx
call fcn.004c8590
pop eax
mov eax, dword [ebp - 0xa4]
mov esi, dword [ebp - 0x9c]
mov ebx, dword [ebp - 0x20]
add eax, esi
push ebx
push dword [ebp - 0x24]
push eax
call fcn.004ba8e0
add esp, 0xc
add esi, ebx
mov dword [ebp - 0x9c], esi
mov eax, dword [ebp - 0xa0]
sub eax, esi
cmp eax, 2
ja 0x4392f9
and dword [ebp - 0x10], 0
lea ecx, [ebp - 0xa4]
mov edx, esi
push 3
call fcn.004c8590
pop eax
mov esi, dword [ebp - 0x9c]
lea eax, [ebp - 0xa4]
lea ecx, [ebp - 0xc0]
mov edi, dword [eax]
mov byte [edi + esi + 2], 0xbd
mov word [edi + esi], 0xbfef
add esi, 3
mov ebx, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xdc]
mov dword [eax + 8], esi
mov dword [ecx], ebx
mov ebx, esi
mov dword [ecx + 4], edx
lea ecx, [ebp - 0x68]
lea edx, [ebp - 0xc0]
call fcn.0042d640
mov ecx, dword [ebp - 0x68]
test ecx, ecx
je 0x4393f6
mov eax, dword [ebp - 0xa0]
mov edx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x5c]
sub eax, ebx
cmp eax, edx
jae 0x439389
and dword [ebp - 0x10], 0
mov eax, edx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], esi
lea ecx, [ebp - 0xa4]
mov edx, ebx
mov dword [ebp - 0x28], eax
push eax
call fcn.004c8590
pop eax
mov edi, dword [ebp - 0xa4]
mov ebx, dword [ebp - 0x9c]
mov esi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x20], edi
lea eax, [edi + ebx]
push edx
push ecx
push eax
mov edi, edx
call fcn.004ba8e0
add esp, 0xc
add ebx, edi
test esi, esi
mov dword [ebp - 0x9c], ebx
je 0x4393ee
mov eax, dword [ebp - 0xa0]
sub eax, ebx
cmp eax, 2
ja 0x4393cf
and dword [ebp - 0x10], 0
lea ecx, [ebp - 0xa4]
mov edx, ebx
push 3
call fcn.004c8590
pop eax
mov ebx, dword [ebp - 0x9c]
mov edi, dword [ebp - 0xa4]
mov byte [edi + ebx + 2], 0xbd
mov word [edi + ebx], 0xbfef
add ebx, 3
mov dword [ebp - 0x9c], ebx
jmp 0x43932b
mov edi, dword [ebp - 0x20]
jmp 0x43932b
mov eax, dword [ebp - 0xa4]
mov esi, dword [ebp - 0xa0]
test eax, eax
mov dword [ebp - 0x20], eax
cmove eax, esi
push 0xa
pop edx
lea edi, [ebp - 0x68]
mov ecx, edi
push ebx
push eax
call fcn.00407acc
pop eax
pop ecx
and dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], ebx
and word [ebp - 0x44], 0
push 0x28
push edi
lea eax, [ebp - 0xa4]
push eax
call fcn.004ba8e0
add esp, 0xc
cmp byte [ebp - 0x7f], 0
je 0x43949d
mov al, byte [ebp - 0x65]
movzx ecx, word [ebp - 0x67]
mov bl, 0x29
mov byte [ebp - 0x76], al
mov word [ebp - 0x78], cx
mov ecx, dword [ebp - 0x20]
mov edx, esi
call fcn.0049e649
movsd xmm0, qword [ebp - 0x78]
movsd xmm1, qword [ebp - 0x71]
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0x3c]
movsd qword [eax + 8], xmm1
movsd qword [eax + 1], xmm0
mov byte [eax], bl
mov edx, dword [ebp - 0x38]
call fcn.004a8f7f
push dword [ebp - 0x7c]
call dword [sym.imp.WS2_32.dll_closesocket]
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
add esp, 0xd4
pop esi
pop edi
pop ebx
pop ebp
ret
lea edx, [ebp - 0xa4]
mov dword [ebp - 0x24], esi
lea esi, [ebp - 0x68]
mov edi, dword [edx + 4]
mov ecx, esi
call fcn.0043cbaa
cmp dword [esi], 0
je 0x4394d0
mov eax, dword [ebp - 0x88]
mov edx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x24]
mov dword [ebp - 0x88], edx
add edi, eax
sub edx, eax
jmp 0x4394e8
lea ecx, [ebp - 0xa4]
call fcn.0040702d
mov esi, dword [ebp - 0x24]
test eax, eax
je 0x43943f
mov edi, eax
mov ecx, edi
call fcn.0043e5dc
test eax, eax
mov byte [ebp - 0x68], 0x29
je 0x43943f
lea esi, [ebp - 0x68]
mov edi, eax
mov ebx, edx
mov ecx, esi
call fcn.0043addc
mov eax, edi
and dword [esi], 0
mov dword [esi + 4], ebx
mov dword [esi + 8], edi
mov dword [esi + 0xc], ebx
mov dword [esi + 0x10], edi
lea ecx, [ebp - 0x68]
add eax, ebx
mov dword [esi + 0x14], eax
and dword [esi + 0x18], 0
mov word [esi + 0x1c], 1
call fcn.0043e639
test eax, eax
je 0x4395df
lea ecx, [ebp - 0x68]
call fcn.0043e639
test eax, eax
mov byte [ebp - 0xa4], 0x27
je 0x4395df
lea ecx, [ebp - 0xa4]
mov edi, eax
mov esi, edx
call fcn.0043addc
mov ecx, edi
mov edx, esi
push 3
push 0x4e031c
call fcn.00427614
pop ecx
pop edx
mov bl, 0x2c
test al, al
jne 0x4395ac
mov ecx, edi
mov edx, esi
push 3
push 0x4e0320
call fcn.00427614
pop ecx
pop edx
mov bl, 0x2a
test al, al
jne 0x4395ac
mov ecx, edi
mov edx, esi
push 3
push str.407GET
call fcn.00427614
pop ecx
pop edx
xor ecx, ecx
test al, al
setne cl
lea ebx, [ecx + ecx*2 + 0x27]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x24]
call fcn.0049e649
cmp bl, 0x2c
jne 0x439459
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ebp - 0x38]
mov dword [ecx + 4], eax
mov byte [ecx], 0x2c
mov ecx, dword [ebp - 0x3c]
call fcn.004a8f7f
jmp 0x439489
mov al, byte [ebp - 0xa1]
movzx ecx, word [ebp - 0xa3]
mov esi, dword [ebp - 0x24]
mov bl, 0x27
jmp 0x439448
xor ecx, ecx
xor edx, edx
push 0x4d02cc
jmp 0x439821
xor ecx, ecx
xor edx, edx
push 0x4d02dc
jmp 0x439821
xor ecx, ecx
inc ecx
mov edx, ecx
push 0x4d02ec
jmp 0x439821
xor ecx, ecx
inc ecx
push 0x4d02fc
jmp 0x439821
push 2
pop ecx
mov edx, ecx
push 0x4d030c
jmp 0x439821
push 2
pop ecx
push 0x4d031c
jmp 0x439821
push 3
pop ecx
mov edx, ecx
push 0x4d032c
jmp 0x439821
mov edx, ecx
push 0x4d059c
jmp 0x439821
xor ecx, ecx
xor edx, edx
push 0x4d036c
jmp 0x439821
xor ecx, ecx
inc ecx
mov edx, ecx
push 0x4d037c
jmp 0x439821
push 2
pop ecx
mov edx, ebx
push 0x4d038c
jmp 0x439821
push 3
pop ecx
mov edx, ecx
push 0x4d039c
jmp 0x439821
push 4
pop ecx
mov edx, ebx
push 0x4d03ac
jmp 0x439821
push 5
pop ecx
mov edx, ecx
push 0x4d03bc
jmp 0x439821
push 6
pop ecx
mov edx, ebx
push 0x4d03cc
jmp 0x439821
push 7
pop ecx
mov edx, ecx
push 0x4d03dc
jmp 0x439821
push 8
pop ecx
mov edx, ebx
push 0x4d03fc
jmp 0x439821
push 9
pop ecx
mov edx, ecx
push 0x4d040c
jmp 0x439821
push 0xa
pop ecx
mov edx, ebx
push 0x4d041c
jmp 0x439821
push 0xb
pop ecx
mov edx, ecx
push 0x4d042c
jmp 0x439821
push 0xc
pop ecx
mov edx, ebx
push 0x4d043c
jmp 0x439821
push 0xd
pop ecx
mov edx, ecx
push 0x4d044c
jmp 0x439821
push 0xe
pop ecx
mov edx, ebx
push 0x4d045c
jmp 0x439821
push 0xf
pop ecx
mov edx, ecx
push 0x4d046c
jmp 0x439821
push 0x10
pop ecx
mov edx, ebx
push 0x4d048c
jmp 0x439821
push 0x11
pop ecx
mov edx, ecx
push 0x4d049c
jmp 0x439821
push 0x12
pop ecx
mov edx, ebx
push 0x4d04ac
jmp 0x439821
push 0x13
pop ecx
mov edx, ecx
push 0x4d04bc
jmp 0x439821
push 0x14
pop ecx
mov edx, ebx
push 0x4d04cc
jmp 0x439821
push 0x15
pop ecx
mov edx, ecx
push 0x4d04dc
jmp 0x439821
push 0x16
pop ecx
mov edx, ebx
push 0x4d04ec
jmp 0x439821
push 0x17
pop ecx
mov edx, ecx
push 0x4d04fc
jmp 0x439821
push 0x18
pop ecx
mov edx, ebx
push 0x4d051c
jmp 0x439821
push 0x19
pop ecx
mov edx, ecx
push 0x4d052c
jmp 0x439821
push 0x1a
pop ecx
mov edx, ebx
push 0x4d053c
jmp 0x439821
push 0x1b
pop ecx
mov edx, ecx
push 0x4d054c
jmp 0x439821
push 0x1c
pop ecx
mov edx, ebx
push 0x4d055c
jmp 0x439821
push 0x1d
pop ecx
mov edx, ecx
push 0x4d056c
jmp 0x439821
push 0x1e
pop ecx
mov edx, ebx
push 0x4d057c
jmp 0x439821
push 0x1f
pop ecx
mov edx, ecx
push 0x4d058c
call fcn.004c8770
pop eax
ud2
mov edx, dword [ebp - 0x30]
mov ecx, edi
push 0x4d024c
jmp 0x439821
push 0x4d028c
jmp 0x439821
mov ecx, dword [ebp - 0x2c]
mov edx, esi
push 0x4d025c
jmp 0x439821
push 0x4d029c
jmp 0x439821
mov edx, edi
push 0x4d026c
jmp 0x439821
push 0x4d027c
jmp 0x439821
movsd xmm0, qword [ebp - 0x3c]
movsd qword [ebp - 0x68], xmm0
push 0x2b
pop edx
mov ecx, 0x4f0257
push 0x4dfd58
push 0x4dfac4
push edi
jmp 0x4398d9
mov edx, dword [ebp - 0x30]
mov ecx, edi
push 0x4d01e0
call fcn.004c87e0
jmp 0x439826
push 0x2a
pop edx
mov ecx, str.usize_overflow_when_calculating_b64_length
push 0x4d021c
call fcn.004c8b50
jmp 0x439826
mov eax, dword [ebp - 0x94]
movsd xmm0, qword [ebp - 0xa4]
movsd xmm1, qword [ebp - 0x9c]
mov dword [ebp - 0x58], eax
movsd qword [ebp - 0x60], xmm1
movsd qword [ebp - 0x68], xmm0
push 0xc
pop edx
mov ecx, str.Invalid_UTF8Q
push 0x4dfbe8
push 0x4dfad4
push esi
call fcn.004c8ad0
add esp, 0xc
ud2
call fcn.00425d50
ud2