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

Disassembly:
push 0xffffffffffffffff
push 0x5e4356
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xac
mov eax, dword [esp + 0xc8]
push ebx
push ebp
push esi
mov ebx, ecx
push edi
xor esi, esi
push eax
lea ecx, [esp + 0x18]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x28], esi
call fcn.0059d86b
push str.Downloading_file
lea ecx, [esp + 0x1c]
mov dword [esp + 0xc8], esi
call fcn.0059d86b
mov eax, dword [ebx + 0x1ac]
mov byte [esp + 0xc4], 1
cmp eax, esi
je 0x50dc44
mov ecx, dword [eax + 0x1c]
push esi
push esi
push 0x401
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
cmp dword [ebx + 0x1ac], esi
je 0x50dca1
mov edx, dword [esp + 0x18]
mov eax, dword [edx - 8]
inc eax
push eax
call fcn.0059dece
mov edi, dword [esp + 0x1c]
mov ebp, eax
or ecx, 0xffffffff
xor eax, eax
add esp, 4
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push ebp
mov eax, ecx
mov esi, edi
mov edi, ebp
push 0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x404
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0x1ac]
mov ecx, dword [eax + 0x1c]
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
push ebp
call fcn.0059def7
add esp, 4
mov eax, dword [ebx + 0x1ac]
test eax, eax
je 0x50dd00
mov edx, dword [esp + 0x14]
mov eax, dword [edx - 8]
inc eax
push eax
call fcn.0059dece
mov edi, dword [esp + 0x18]
mov ebp, eax
or ecx, 0xffffffff
xor eax, eax
add esp, 4
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push ebp
mov eax, ecx
mov esi, edi
mov edi, ebp
push 0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x405
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0x1ac]
mov ecx, dword [eax + 0x1c]
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
push ebp
call fcn.0059def7
add esp, 4
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x28], 0
mov esi, str.https
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x50dd3d
test cl, cl
je 0x50dd34
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x50dd3d
add eax, 2
add esi, 2
test cl, cl
jne 0x50dd14
xor edi, edi
xor eax, eax
or ebp, 0xffffffff
jmp 0x50dd48
sbb eax, eax
mov ebp, 0xffffffff
sbb eax, ebp
xor edi, edi
cmp eax, edi
jne 0x50dd56
mov esi, 1
jmp 0x50dddb
mov edi, dword [esp + 0xcc]
mov esi, str.http
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x50dd88
test cl, cl
je 0x50dd84
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x50dd88
add eax, 2
add esi, 2
test cl, cl
jne 0x50dd64
xor eax, eax
jmp 0x50dd8d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x50ddd2
push edi
add ebx, 0x1b8
push str.Invalid_protocol_argument__s
push ebx
call fcn.00596175
add esp, 0xc
lea ecx, [esp + 0x18]
mov byte [esp + 0xc4], 0
call fcn.0059d7fd
lea ecx, [esp + 0x14]
mov dword [esp + 0xc4], 0xffffffff
call fcn.0059d7fd
xor eax, eax
jmp 0x50e3cb
mov esi, dword [esp + 0x28]
xor edi, edi
or ebp, 0xffffffff
push edi
push edi
push edi
push edi
push 1
push str.RealLegal_WebCopy
lea ecx, [esp + 0x9c]
call fcn.005bd4c6
push 0x67f98c
lea ecx, [esp + 0xa4]
mov byte [esp + 0xc8], 2
mov dword [esp + 0x9c], edi
mov dword [esp + 0xa0], edi
call fcn.0059d86b
mov dword [esp + 0xa4], edi
mov dword [esp + 0xa8], edi
mov dword [esp + 0xac], edi
mov dword [esp + 0x84], 0x5f4394
mov eax, dword [ebx + 0x1b0]
mov dword [esp + 0x48], 0x5f4390
mov dword [esp + 0x4c], eax
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x34], 0x5f437c
mov eax, dword [ebx + 0x1ac]
mov edx, dword [esp + 0xd0]
neg eax
sbb eax, eax
lea ecx, [esp + 0x48]
not eax
and eax, ecx
lea ecx, [esp + 0x84]
push eax
push esi
push edx
mov byte [esp + 0xd0], 4
call fcn.004fcc50
test eax, eax
jne 0x50de9c
mov eax, dword [esp + 0xa0]
push eax
jmp 0x50df96
mov esi, dword [esp + 0xdc]
lea ecx, [esp + 0x34]
push esi
call fcn.004fc880
test eax, eax
jne 0x50decb
push esi
add ebx, 0x1b8
push str.Failed_to_open__s_for_writing.
push ebx
call fcn.00596175
add esp, 0xc
jmp 0x50dfa1
mov ecx, dword [esp + 0xd4]
push ecx
lea ecx, [esp + 0x30]
call fcn.0059d86b
lea edx, [esp + 0x14]
mov byte [esp + 0xc4], 5
push edx
push eax
lea eax, [esp + 0x30]
push eax
call fcn.0059da2c
mov ecx, dword [ebx + 0x1ac]
mov eax, dword [eax]
neg ecx
sbb ecx, ecx
lea edx, [esp + 0x48]
not ecx
and ecx, edx
mov byte [esp + 0xc4], 6
push ecx
lea ecx, [esp + 0x38]
push ecx
push eax
lea ecx, [esp + 0x90]
call fcn.004fd270
test eax, eax
lea ecx, [esp + 0x28]
mov byte [esp + 0xc4], 5
sete byte [esp + 0x13]
call fcn.0059d7fd
lea ecx, [esp + 0x2c]
mov byte [esp + 0xc4], 4
call fcn.0059d7fd
mov al, byte [esp + 0x13]
lea ecx, [esp + 0x34]
test al, al
je 0x50df67
call fcn.004fc8b0
mov edx, dword [esp + 0xa0]
push edx
jmp 0x50df96
call fcn.004fc8b0
mov eax, dword [ebx + 0x1ac]
cmp eax, edi
je 0x50df87
mov eax, dword [eax + 0x1c]
push edi
push edi
push 0x403
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov al, byte [ebx + 0x1bc]
test al, al
je 0x50dfee
push str.Operation_Canceled.
lea ecx, [ebx + 0x1b8]
call fcn.0059d986
lea ecx, [esp + 0x34]
mov byte [esp + 0xc4], 3
call fcn.004fc830
lea ecx, [esp + 0x84]
mov byte [esp + 0xc4], 1
call fcn.004fcba0
lea ecx, [esp + 0x18]
mov byte [esp + 0xc4], 0
call fcn.0059d7fd
lea ecx, [esp + 0x14]
mov dword [esp + 0xc4], ebp
call fcn.0059d7fd
xor eax, eax
jmp 0x50e3cb
lea ecx, [esp + 0x64]
mov dword [esp + 0x58], 0x5ecdf0
mov dword [esp + 0x5c], 0x5ecde8
call fcn.004018e0
mov dword [esp + 0x24], 1
mov ecx, dword [esp + 0x58]
mov edx, dword [ecx + 4]
mov dword [esp + edx + 0x58], 0x5ecdc0
mov eax, dword [esp + 0x58]
mov eax, dword [eax + 4]
lea ecx, [eax - 8]
mov dword [esp + eax + 0x54], ecx
push edi
lea ecx, [esp + 0x60]
mov dword [esp + 0xc8], 8
call fcn.00401a40
mov edx, dword [esp + 0x58]
push esi
mov byte [esp + 0xc8], 9
mov eax, dword [edx + 4]
mov dword [esp + eax + 0x5c], 0x5ecdd4
mov ecx, dword [esp + 0x5c]
mov eax, dword [ecx + 4]
lea edx, [eax - 0xc]
mov dword [esp + eax + 0x58], edx
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x5c]
call fcn.0048f9c0
push esi
lea ecx, [esp + 0x20]
mov byte [esp + 0xc8], 0xa
call fcn.0059d86b
mov eax, dword [esp + 0x58]
lea edx, [esp + 0x24]
push edx
mov byte [esp + 0xc8], 0xb
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x5c]
call fcn.004900d0
mov eax, dword [eax]
push 0x66d01c
push eax
call fcn.0055fa9d
add esp, 8
lea ecx, [esp + 0x24]
test eax, eax
sete bl
call fcn.0059d7fd
test bl, bl
je 0x50e130
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x1c]
mov eax, dword [edx - 8]
add eax, 0xfffffffd
push eax
lea eax, [esp + 0x28]
push eax
call fcn.00595cff
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xc8], 0xc
call fcn.0059d936
lea ecx, [esp + 0x24]
mov byte [esp + 0xc4], 0xb
call fcn.0059d7fd
lea ecx, [esp + 0x34]
call fcn.004fc8b0
mov ecx, dword [esp + 0x1c]
push ecx
push esi
lea ecx, [esp + 0x8c]
call fcn.004fd4f0
test eax, eax
jne 0x50e130
mov ebp, dword [esp + 0x30]
mov dword [ebp + 0x44], 3
jmp 0x50e134
mov ebp, dword [esp + 0x30]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xe0]
push edx
push edi
mov ecx, ebp
call fcn.00501a10
mov eax, dword [esp + 0x1c]
mov ecx, ebp
push eax
call fcn.005012b0
cmp eax, 1
jne 0x50e2f4
push eax
push edi
mov ecx, ebp
call fcn.0050be70
lea ecx, [esp + 0x28]
push edi
mov esi, eax
push ecx
mov ecx, ebp
mov dword [esp + 0x2c], esi
call fcn.00501980
mov ebx, 1
mov byte [esp + 0xc4], 0xd
cmp esi, ebx
jle 0x50e2e3
add ebp, 0x190
jmp 0x50e19d
mov edi, dword [esp + 0xe0]
push 8
call fcn.0059dece
add esp, 4
test eax, eax
je 0x50e1b7
mov edx, dword [0x677e28]
mov esi, eax
mov dword [eax], edx
jmp 0x50e1b9
xor esi, esi
lea eax, [esp + 0x28]
mov ecx, esi
push eax
call fcn.0059d936
mov dword [esi + 4], ebx
mov eax, dword [ebp + 4]
mov edx, dword [0x681258]
lea ecx, [ebx + edi]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], esi
mov esi, dword [eax + 4]
mov edi, eax
cmp esi, edx
mov al, 1
je 0x50e200
mov eax, dword [esi + 0xc]
mov edi, esi
cmp ecx, eax
setl al
test al, al
je 0x50e1f9
mov esi, dword [esi]
jmp 0x50e1fc
mov esi, dword [esi + 8]
cmp esi, edx
jne 0x50e1e7
mov cl, byte [ebp + 8]
test cl, cl
je 0x50e22d
lea ecx, [esp + 0x40]
lea edx, [esp + 0xb0]
push ecx
push edi
push esi
push edx
mov ecx, ebp
call fcn.00508290
mov eax, dword [eax]
mov byte [esp + 0x54], 1
mov dword [esp + 0x50], eax
jmp 0x50e2c7
test al, al
mov dword [esp + 0x2c], edi
je 0x50e27e
lea ecx, [esp + 0xb8]
push ecx
mov ecx, ebp
call fcn.00505c30
mov edx, dword [esp + 0x2c]
mov ecx, dword [eax]
cmp edx, ecx
sete al
test al, al
je 0x50e275
lea eax, [esp + 0x13]
lea ecx, [esp + 0x40]
push eax
push ecx
push edi
lea edx, [esp + 0xc0]
push esi
push edx
mov ecx, ebp
mov byte [esp + 0x27], 1
call fcn.00508290
jmp 0x50e2bd
lea ecx, [esp + 0x2c]
call fcn.00508a60
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
mov eax, dword [esp + 0x40]
cmp ecx, eax
jge 0x50e2af
lea edx, [esp + 0x13]
lea eax, [esp + 0x40]
push edx
push eax
push edi
lea ecx, [esp + 0x8c]
push esi
push ecx
mov ecx, ebp
mov byte [esp + 0x27], 1
call fcn.00508290
jmp 0x50e2bd
lea edx, [esp + 0x23]
mov byte [esp + 0x23], 0
push edx
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x58]
call fcn.005063f0
mov eax, dword [esp + 0x30]
inc ebx
mov ecx, dword [eax + 0x58]
inc ecx
mov dword [eax + 0x58], ecx
mov eax, dword [esp + 0x24]
cmp ebx, eax
jl 0x50e196
mov ebp, dword [esp + 0x30]
lea ecx, [esp + 0x28]
mov byte [esp + 0xc4], 0xb
call fcn.0059d7fd
mov eax, dword [ebp + 0x1ac]
test eax, eax
je 0x50e30b
mov ecx, dword [esp + 0x4c]
test ecx, ecx
je 0x50e30b
mov edx, dword [ecx]
call dword [edx + 8]
lea ecx, [esp + 0x1c]
mov byte [esp + 0xc4], 0xa
call fcn.0059d7fd
lea eax, [esp + 0x64]
mov dword [esp + 0x80], eax
lea ecx, [esp + 0x78]
mov byte [esp + 0xc4], 0x11
call fcn.0059d7fd
lea ecx, [esp + 0x74]
mov byte [esp + 0xc4], 0x10
call fcn.0059d7fd
lea ecx, [esp + 0x70]
mov byte [esp + 0xc4], 0xf
call fcn.0059d7fd
lea ecx, [esp + 0x6c]
mov byte [esp + 0xc4], 0xe
call fcn.0059d7fd
lea ecx, [esp + 0x68]
mov byte [esp + 0xc4], 4
call fcn.0059d7fd
lea ecx, [esp + 0x34]
mov byte [esp + 0xc4], 3
call fcn.004fc830
lea ecx, [esp + 0x84]
mov byte [esp + 0xc4], 1
call fcn.004fcba0
lea ecx, [esp + 0x18]
mov byte [esp + 0xc4], 0
call fcn.0059d7fd
lea ecx, [esp + 0x14]
mov dword [esp + 0xc4], 0xffffffff
call fcn.0059d7fd
mov eax, 1
mov ecx, dword [esp + 0xbc]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0xb8
ret 0x18