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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x170
xor eax, eax
mov esi, ecx
cmp eax, dword [ecx + 0x54]
jno 0x49e6a6
cmp byte [esi + 0xa4], 0
je 0x49e6a6
mov edx, str.ALL_PROXYall_proxyHTTPS_PROXYhttps_proxyHTTP_PROXYhttp_proxy
lea ecx, [esp + 0xa0]
push 9
call fcn.0048e150
add esp, 4
mov edx, dword [esp + 0xa0]
mov eax, edx
neg eax
jno 0x49ded8
lea ecx, [esp + 0xc]
lea eax, [esp + 0xc]
lea edx, [esp + 0xc]
lea edi, [esp + 0xc]
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0xc]
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], edx
mov dword [esp + 0x80], ecx
jmp 0x49e022
movzx ecx, byte [esp + 0xac]
mov eax, dword [esp + 0xa4]
mov edi, dword [esp + 0xa8]
test cl, 1
mov dword [esp + 0x20], eax
mov dword [esp + 0x80], edi
mov byte [esp + 0x40], cl
jne 0x49dfa4
cmp dword [esp + 0x80], 0
je 0x49dfa4
movzx eax, byte [esp + 0xaf]
movzx ecx, word [esp + 0xad]
mov ebx, dword [esp + 0x20]
shl eax, 0x10
or ecx, eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x1c], ecx
lea edi, [ebx + eax]
jmp 0x49df56
add ebx, 2
cmp ecx, edi
cmovne ecx, ebx
nop word cs:[eax + eax]
nop
cmp ecx, edi
mov ebx, ecx
je 0x49dfa4
movzx eax, byte [ebx]
lea ecx, [ebx + 1]
test al, al
jns 0x49df50
cmp al, 0xe0
jb 0x49df3d
cmp al, 0xed
jne 0x49df84
cmp ecx, edi
je 0x49dfa4
lea eax, [ebx + 2]
cmp eax, edi
je 0x49dfa4
cmp byte [ebx + 1], 0x9f
ja 0x49e86c
add ebx, 3
mov ecx, ebx
jmp 0x49df50
add ebx, 2
cmp ecx, edi
cmove ebx, ecx
xor ecx, ecx
cmp ebx, edi
setne cl
add ecx, ebx
cmp al, 0xf0
jb 0x49df50
xor eax, eax
cmp ecx, edi
setne al
add ecx, eax
jmp 0x49df50
mov ecx, edx
mov ebx, dword [esp + 0x80]
lea edx, [esp + 0xc]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x80], edx
mov eax, ebx
mov dword [esp + 0x10], ecx
mov byte [esp + 0x14], bl
shr ebx, 0x18
shr eax, 8
mov byte [esp + 0x17], bl
lea ebx, [esp + 0xa0]
mov word [esp + 0x15], ax
mov dword [esp + 8], 0x80000001
mov ecx, ebx
call fcn.0049ea80
cmp dword [esp + 0xa0], 3
je 0x49e614
lea eax, [esp + 0xc]
lea edx, [esp + 0xc]
lea ecx, [esp + 0xc]
lea edi, [esp + 0xc]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x40], ecx
push ebx
call fcn.0049f7e0
add esp, 4
lea ecx, [esp + 0xa0]
mov edx, 0x8ebb99
push 9
call fcn.0048e150
add esp, 4
mov ecx, dword [esp + 0xa0]
mov eax, ecx
neg eax
jo 0x49e15a
movzx edx, byte [esp + 0xac]
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x38], edi
test dl, 1
mov dword [esp + 0x20], eax
mov byte [esp + 0x54], dl
jne 0x49e104
test ecx, ecx
je 0x49e104
movzx eax, byte [esp + 0xaf]
mov ebx, dword [esp + 0x20]
movzx edx, word [esp + 0xad]
shl eax, 0x10
lea edi, [ebx + ecx]
or edx, eax
mov dword [esp + 0x9c], edx
jmp 0x49e0b6
add ebx, 2
cmp edx, edi
cmovne edx, ebx
nop dword [eax]
cmp edx, edi
mov ebx, edx
je 0x49e104
movzx eax, byte [ebx]
lea edx, [ebx + 1]
test al, al
jns 0x49e0b0
cmp al, 0xe0
jb 0x49e0a5
cmp al, 0xed
jne 0x49e0e4
cmp edx, edi
je 0x49e104
lea eax, [ebx + 2]
cmp eax, edi
je 0x49e104
cmp byte [ebx + 1], 0x9f
ja 0x49e8e3
add ebx, 3
mov edx, ebx
jmp 0x49e0b0
add ebx, 2
cmp edx, edi
cmove ebx, edx
xor edx, edx
cmp ebx, edi
setne dl
add edx, ebx
cmp al, 0xf0
jb 0x49e0b0
xor eax, eax
cmp edx, edi
setne al
add edx, eax
jmp 0x49e0b0
mov edx, dword [esp + 0x18]
mov eax, ecx
lea ebx, [esp + 0xa0]
shr eax, 8
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x38]
mov byte [esp + 0x14], cl
shr ecx, 0x18
mov word [esp + 0x15], ax
mov byte [esp + 0x17], cl
mov ecx, ebx
mov dword [esp + 8], 0x80000001
call fcn.0049ea80
cmp dword [esp + 0xa0], 3
je 0x49e614
push ebx
call fcn.0049f7e0
add esp, 4
lea ecx, [esp + 0xa0]
mov edx, 0x8ebba2
push 0xb
call fcn.0048e150
add esp, 4
mov ecx, dword [esp + 0xa0]
mov eax, ecx
neg eax
jo 0x49e28a
movzx edx, byte [esp + 0xac]
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa8]
test dl, 1
mov dword [esp + 0x20], eax
mov byte [esp + 0x38], dl
jne 0x49e234
test ecx, ecx
je 0x49e234
movzx eax, byte [esp + 0xaf]
mov ebx, dword [esp + 0x20]
movzx edx, word [esp + 0xad]
shl eax, 0x10
lea edi, [ebx + ecx]
or edx, eax
mov dword [esp + 0x54], edx
jmp 0x49e1e6
add ebx, 2
cmp edx, edi
cmovne edx, ebx
nop
cmp edx, edi
mov ebx, edx
je 0x49e234
movzx eax, byte [ebx]
lea edx, [ebx + 1]
test al, al
jns 0x49e1e0
cmp al, 0xe0
jb 0x49e1d6
cmp al, 0xed
jne 0x49e214
cmp edx, edi
je 0x49e234
lea eax, [ebx + 2]
cmp eax, edi
je 0x49e234
cmp byte [ebx + 1], 0x9f
ja 0x49e935
add ebx, 3
mov edx, ebx
jmp 0x49e1e0
add ebx, 2
cmp edx, edi
cmove ebx, edx
xor edx, edx
cmp ebx, edi
setne dl
add edx, ebx
cmp al, 0xf0
jb 0x49e1e0
xor eax, eax
cmp edx, edi
setne al
add edx, eax
jmp 0x49e1e0
mov edx, dword [esp + 0x18]
mov eax, ecx
lea edi, [esp + 0xa0]
shr eax, 8
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x40]
mov byte [esp + 0x14], cl
shr ecx, 0x18
mov word [esp + 0x15], ax
mov byte [esp + 0x17], cl
mov ecx, edi
mov dword [esp + 8], 0x80000001
call fcn.0049ea80
cmp dword [esp + 0xa0], 3
je 0x49e614
push edi
call fcn.0049f7e0
add esp, 4
lea ecx, [esp + 0xa0]
mov edx, 0x8ebbad
push 0xb
call fcn.0048e150
add esp, 4
mov ecx, dword [esp + 0xa0]
mov eax, ecx
neg eax
jo 0x49e3ba
movzx edx, byte [esp + 0xac]
mov dword [esp + 0x40], ecx
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa8]
test dl, 1
mov dword [esp + 0x20], eax
mov byte [esp + 0x18], dl
jne 0x49e364
test ecx, ecx
je 0x49e364
movzx eax, byte [esp + 0xaf]
mov ebx, dword [esp + 0x20]
movzx edx, word [esp + 0xad]
shl eax, 0x10
lea edi, [ebx + ecx]
or edx, eax
mov dword [esp + 0x38], edx
jmp 0x49e316
add ebx, 2
cmp edx, edi
cmovne edx, ebx
nop
cmp edx, edi
mov ebx, edx
je 0x49e364
movzx eax, byte [ebx]
lea edx, [ebx + 1]
test al, al
jns 0x49e310
cmp al, 0xe0
jb 0x49e306
cmp al, 0xed
jne 0x49e344
cmp edx, edi
je 0x49e364
lea eax, [ebx + 2]
cmp eax, edi
je 0x49e364
cmp byte [ebx + 1], 0x9f
ja 0x49e984
add ebx, 3
mov edx, ebx
jmp 0x49e310
add ebx, 2
cmp edx, edi
cmove ebx, edx
xor edx, edx
cmp ebx, edi
setne dl
add edx, ebx
cmp al, 0xf0
jb 0x49e310
xor eax, eax
cmp edx, edi
setne al
add edx, eax
jmp 0x49e310
mov edx, dword [esp + 0x40]
mov eax, ecx
lea edi, [esp + 0xa0]
shr eax, 8
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x1c]
mov byte [esp + 0x14], cl
shr ecx, 0x18
mov word [esp + 0x15], ax
mov byte [esp + 0x17], cl
mov ecx, edi
mov dword [esp + 8], 0x80000001
call fcn.0049ea80
cmp dword [esp + 0xa0], 3
je 0x49e614
push edi
call fcn.0049f7e0
add esp, 4
lea ecx, [esp + 0xa0]
mov edx, 0x8ebbb8
push 0xa
call fcn.0048e150
add esp, 4
mov ecx, dword [esp + 0xa0]
mov eax, ecx
neg eax
jo 0x49e4ea
movzx edx, byte [esp + 0xac]
mov dword [esp + 0x40], ecx
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa8]
test dl, 1
mov dword [esp + 0x20], eax
mov byte [esp + 0x1c], dl
jne 0x49e494
test ecx, ecx
je 0x49e494
movzx eax, byte [esp + 0xaf]
mov ebx, dword [esp + 0x20]
movzx edx, word [esp + 0xad]
shl eax, 0x10
lea edi, [ebx + ecx]
or edx, eax
mov dword [esp + 0x18], edx
jmp 0x49e446
add ebx, 2
cmp edx, edi
cmovne edx, ebx
nop
cmp edx, edi
mov ebx, edx
je 0x49e494
movzx eax, byte [ebx]
lea edx, [ebx + 1]
test al, al
jns 0x49e440
cmp al, 0xe0
jb 0x49e436
cmp al, 0xed
jne 0x49e474
cmp edx, edi
je 0x49e494
lea eax, [ebx + 2]
cmp eax, edi
je 0x49e494
cmp byte [ebx + 1], 0x9f
ja 0x49e9d3
add ebx, 3
mov edx, ebx
jmp 0x49e440
add ebx, 2
cmp edx, edi
cmove ebx, edx
xor edx, edx
cmp ebx, edi
setne dl
add edx, ebx
cmp al, 0xf0
jb 0x49e440
xor eax, eax
cmp edx, edi
setne al
add edx, eax
jmp 0x49e440
mov edx, dword [esp + 0x40]
mov eax, ecx
lea edi, [esp + 0xa0]
shr eax, 8
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x3c]
mov byte [esp + 0x14], cl
shr ecx, 0x18
mov word [esp + 0x15], ax
mov byte [esp + 0x17], cl
mov ecx, edi
mov dword [esp + 8], 0x80000001
call fcn.0049ea80
cmp dword [esp + 0xa0], 3
je 0x49e614
push edi
call fcn.0049f7e0
add esp, 4
lea ecx, [esp + 0xa0]
mov edx, 0x8ebbc2
push 0xa
call fcn.0048e150
add esp, 4
mov ecx, dword [esp + 0xa0]
mov eax, ecx
neg eax
jo 0x49e6a6
movzx edx, byte [esp + 0xac]
mov dword [esp + 0x40], ecx
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa8]
test dl, 1
mov dword [esp + 0x20], eax
mov byte [esp + 0x1c], dl
jne 0x49e5c4
test ecx, ecx
je 0x49e5c4
movzx eax, byte [esp + 0xaf]
mov ebx, dword [esp + 0x20]
movzx edx, word [esp + 0xad]
shl eax, 0x10
lea edi, [ebx + ecx]
or edx, eax
mov dword [esp + 0x3c], edx
jmp 0x49e576
add ebx, 2
cmp edx, edi
cmovne edx, ebx
nop
cmp edx, edi
mov ebx, edx
je 0x49e5c4
movzx eax, byte [ebx]
lea edx, [ebx + 1]
test al, al
jns 0x49e570
cmp al, 0xe0
jb 0x49e566
cmp al, 0xed
jne 0x49e5a4
cmp edx, edi
je 0x49e5c4
lea eax, [ebx + 2]
cmp eax, edi
je 0x49e5c4
cmp byte [ebx + 1], 0x9f
ja 0x49ea22
add ebx, 3
mov edx, ebx
jmp 0x49e570
add ebx, 2
cmp edx, edi
cmove ebx, edx
xor edx, edx
cmp ebx, edi
setne dl
add edx, ebx
cmp al, 0xf0
jb 0x49e570
xor eax, eax
cmp edx, edi
setne al
add edx, eax
jmp 0x49e570
mov edx, dword [esp + 0x40]
mov eax, ecx
lea edi, [esp + 0xa0]
shr eax, 8
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x80]
mov byte [esp + 0x14], cl
shr ecx, 0x18
mov word [esp + 0x15], ax
mov byte [esp + 0x17], cl
mov ecx, edi
mov dword [esp + 8], 0x80000001
call fcn.0049ea80
cmp dword [esp + 0xa0], 3
jne 0x49e85e
movsd xmm2, qword [esp + 0xb0]
movsd xmm1, qword [esp + 0xb8]
mov eax, dword [esp + 0xa4]
movsd xmm0, qword [esp + 0xa8]
movsd qword [esp + 0x60], xmm2
movsd qword [esp + 0x68], xmm1
movsd xmm2, qword [esp + 0xc0]
movq xmm1, qword [esp + 0xc8]
mov ecx, eax
movsd qword [esp + 0x58], xmm0
neg ecx
movsd qword [esp + 0x70], xmm2
movq qword [esp + 0x78], xmm1
jo 0x49e6a6
movsd xmm1, qword [esp + 0x60]
mov dword [esi + 0x54], eax
movsd xmm0, qword [esp + 0x58]
movsd xmm2, qword [esp + 0x70]
movsd qword [esi + 0x60], xmm1
movsd xmm1, qword [esp + 0x68]
movsd qword [esi + 0x58], xmm0
movsd qword [esi + 0x70], xmm2
movsd qword [esi + 0x68], xmm1
movq xmm1, qword [esp + 0x78]
movq qword [esi + 0x78], xmm1
movzx eax, byte [0x90320d]
xor ecx, ecx
mov edx, 0x90
call fcn.0049d570
test eax, eax
je 0x49ea71
mov edi, eax
mov dword [eax], 1
mov dword [eax + 4], 1
add eax, 8
push 0x88
push esi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movq xmm0, qword [esi + 0x9c]
mov ecx, dword fs:[0x2c]
movdqa xmmword [esp + 0x80], xmm0
mov eax, dword [0x903210]
mov eax, dword [ecx + eax*4]
test byte [eax + 0x50], 1
je 0x49e724
mov eax, dword [0x903210]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
movdqu xmm1, xmmword [eax + 0x58]
jmp 0x49e77a
pxor xmm0, xmm0
lea eax, [esp + 0xa0]
movdqa xmmword [esp + 0xa0], xmm0
push 0x10
push eax
call dword [sym.imp.bcryptprimitives.dll_ProcessPrng]
mov eax, dword [0x903210]
mov ecx, dword fs:[0x2c]
movdqa xmm1, xmmword [esp + 0xa0]
mov eax, dword [ecx + eax*4]
pshufd xmm0, xmm1, 0xee
mov dword [eax + 0x54], 0
mov dword [eax + 0x50], 1
movq qword [eax + 0x60], xmm0
movdqa xmmword [esp + 0x20], xmm1
mov ebx, dword fs:[0x2c]
pshufd xmm0, xmm1, 0x55
movd ecx, xmm1
mov edx, dword [0x903210]
movd eax, xmm0
movsd xmm0, qword [esi + 0x88]
add ecx, 1
adc eax, 0
mov edx, dword [ebx + edx*4]
movaps xmmword [esp + 0x40], xmm0
mov dword [edx + 0x58], ecx
mov dword [edx + 0x5c], eax
xor ecx, ecx
mov edx, 0x60
movzx eax, byte [0x90320d]
call fcn.0049d570
test eax, eax
je 0x49ea71
movaps xmm0, xmmword [esp + 0x40]
mov dword [eax], 1
mov dword [eax + 4], 1
mov edx, eax
movlps qword [eax + 8], xmm0
movsd xmm0, qword [0x8eb820]
mov byte [eax + 0x10], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 4
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0
movsd qword [eax + 0x28], xmm0
movsd xmm0, qword [0x8eb828]
movsd qword [eax + 0x30], xmm0
movaps xmm0, xmmword [esp + 0x20]
movups xmmword [eax + 0x38], xmm0
movaps xmm0, xmmword [esp + 0x80]
movlps qword [eax + 0x48], xmm0
movsd xmm0, qword [esi + 0x90]
movsd qword [eax + 0x50], xmm0
mov eax, dword [esi + 0x98]
mov dword [edx + 0x58], eax
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push edi
call fcn.0049f7e0
add esp, 4
jmp 0x49e6a6
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x80]
mov dword [esp + 8], edx
lea ebx, [esp + 0xc]
lea edi, [esp + 0xc]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
movzx eax, byte [esp + 0x40]
mov byte [esp + 0x14], al
mov eax, dword [esp + 0x1c]
mov word [esp + 0x15], ax
shr eax, 0x10
test edx, 0x7fffffff
lea edx, [esp + 0xc]
mov byte [esp + 0x17], al
lea eax, [esp + 0xc]
mov dword [esp + 0x80], edx
mov dword [esp + 0x40], eax
lea eax, [esp + 0xc]
mov dword [esp + 0x1c], eax
je 0x49e022
push ecx
push 0
push dword [0x903200]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x49e022
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
movzx ecx, byte [esp + 0x54]
mov byte [esp + 0x14], cl
mov ecx, dword [esp + 0x9c]
mov word [esp + 0x15], cx
shr ecx, 0x10
test eax, 0x7fffffff
mov byte [esp + 0x17], cl
je 0x49e15a
push dword [esp + 0xc]
push 0
push dword [0x903200]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x49e15a
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
movzx ecx, byte [esp + 0x38]
mov byte [esp + 0x14], cl
mov ecx, dword [esp + 0x54]
mov word [esp + 0x15], cx
shr ecx, 0x10
test eax, 0x7fffffff
mov byte [esp + 0x17], cl
je 0x49e28a
push dword [esp + 0xc]
push 0
push dword [0x903200]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x49e28a
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x20]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
movzx ecx, byte [esp + 0x18]
mov byte [esp + 0x14], cl
mov ecx, dword [esp + 0x38]
mov word [esp + 0x15], cx
shr ecx, 0x10
test eax, 0x7fffffff
mov byte [esp + 0x17], cl
je 0x49e3ba
push dword [esp + 0xc]
push 0
push dword [0x903200]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x49e3ba
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x20]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
movzx ecx, byte [esp + 0x1c]
mov byte [esp + 0x14], cl
mov ecx, dword [esp + 0x18]
mov word [esp + 0x15], cx
shr ecx, 0x10
test eax, 0x7fffffff
mov byte [esp + 0x17], cl
je 0x49e4ea
push dword [esp + 0xc]
push 0
push dword [0x903200]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x49e4ea
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x20]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
movzx ecx, byte [esp + 0x1c]
mov byte [esp + 0x14], cl
mov ecx, dword [esp + 0x3c]
mov word [esp + 0x15], cx
shr ecx, 0x10
test eax, 0x7fffffff
mov byte [esp + 0x17], cl
je 0x49e6a6
push dword [esp + 0xc]
push 0
push dword [0x903200]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x49e6a6
ud2