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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x160
xor eax, eax
mov esi, ecx
mov dword [esp + 0x10], ecx
cmp eax, dword [ecx + 0x54]
jno 0x491c5c
cmp byte [esi + 0xa4], 0
je 0x491c5c
lea ecx, [esp + 0x70]
mov edx, str.ALL_PROXYall_proxyHTTPS_PROXYhttps_proxyHTTP_PROXYhttp_proxy
push 9
call fcn.00482560
add esp, 4
mov eax, dword [esp + 0x70]
mov ecx, eax
neg ecx
jno 0x491526
lea ecx, [esp + 4]
lea eax, [esp + 4]
lea edx, [esp + 4]
lea edi, [esp + 4]
mov dword [esp + 0x18], ecx
lea ecx, [esp + 4]
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x140], ecx
jmp 0x49163b
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
mov dword [esp + 0x20], ecx
mov ch, byte [esp + 0x7c]
test ch, 1
mov byte [esp + 0x14], ch
jne 0x4915c7
test edx, edx
je 0x4915c7
movzx ecx, byte [esp + 0x7f]
movzx esi, word [esp + 0x7d]
shl ecx, 0x10
or esi, ecx
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x20]
lea edi, [esi + edx]
jmp 0x491576
add esi, 2
cmp ebx, edi
cmovne ebx, esi
nop
cmp ebx, edi
mov esi, ebx
je 0x4915c7
movzx ecx, byte [esi]
lea ebx, [esi + 1]
test cl, cl
jns 0x491570
cmp cl, 0xe0
jb 0x491567
cmp cl, 0xed
jne 0x4915a6
cmp ebx, edi
je 0x4915c7
lea ecx, [esi + 2]
cmp ecx, edi
je 0x4915c7
cmp byte [esi + 1], 0x9f
ja 0x491e3d
add esi, 3
mov ebx, esi
jmp 0x491570
add esi, 2
cmp ebx, edi
cmove esi, ebx
xor ebx, ebx
cmp esi, edi
setne bl
add ebx, esi
cmp cl, 0xf0
jb 0x491570
xor ecx, ecx
cmp ebx, edi
setne cl
add ebx, ecx
jmp 0x491570
mov edi, dword [esp + 0x20]
mov ecx, edx
mov dword [esp + 4], eax
lea esi, [esp + 4]
lea ebx, [esp + 0x70]
shr ecx, 8
mov dword [esp + 8], edi
mov byte [esp + 0xc], dl
shr edx, 0x18
mov word [esp + 0xd], cx
mov ecx, ebx
mov byte [esp + 0xf], dl
mov edx, esi
mov dword [esp], 0x80000001
call fcn.00492040
cmp dword [esp + 0x70], 3
je 0x491bcc
lea eax, [esp + 4]
lea edx, [esp + 4]
lea ecx, [esp + 4]
lea edi, [esp + 4]
mov dword [esp + 0x140], esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], ecx
push ebx
call fcn.00492da0
add esp, 4
mov esi, dword [esp + 0x10]
lea ecx, [esp + 0x70]
mov edx, 0x75ec39
push 9
call fcn.00482560
add esp, 4
mov eax, dword [esp + 0x70]
mov ecx, eax
neg ecx
jo 0x491756
mov ecx, dword [esp + 0x74]
movzx edx, byte [esp + 0x7c]
mov dword [esp + 0x38], edi
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x78]
test dl, 1
mov byte [esp + 0x3c], dl
jne 0x491707
test ecx, ecx
je 0x491707
movzx edx, byte [esp + 0x7f]
movzx esi, word [esp + 0x7d]
shl edx, 0x10
or esi, edx
mov dword [esp + 0x6c], esi
mov esi, dword [esp + 0x20]
lea edi, [esi + ecx]
jmp 0x4916b6
add esi, 2
cmp ebx, edi
cmovne ebx, esi
nop word [eax + eax]
cmp ebx, edi
mov esi, ebx
je 0x491707
movzx edx, byte [esi]
lea ebx, [esi + 1]
test dl, dl
jns 0x4916b0
cmp dl, 0xe0
jb 0x4916a2
cmp dl, 0xed
jne 0x4916e6
cmp ebx, edi
je 0x491707
lea edx, [esi + 2]
cmp edx, edi
je 0x491707
cmp byte [esi + 1], 0x9f
ja 0x491eab
add esi, 3
mov ebx, esi
jmp 0x4916b0
add esi, 2
cmp ebx, edi
cmove esi, ebx
xor ebx, ebx
cmp esi, edi
setne bl
add ebx, esi
cmp dl, 0xf0
jb 0x4916b0
xor edx, edx
cmp ebx, edi
setne dl
add ebx, edx
jmp 0x4916b0
mov esi, dword [esp + 0x20]
mov edx, ecx
mov dword [esp + 4], eax
lea ebx, [esp + 0x70]
shr edx, 8
mov dword [esp + 8], esi
mov byte [esp + 0xc], cl
mov word [esp + 0xd], dx
mov edx, dword [esp + 0x38]
shr ecx, 0x18
mov byte [esp + 0xf], cl
mov ecx, ebx
mov dword [esp], 0x80000001
call fcn.00492040
cmp dword [esp + 0x70], 3
je 0x491bcc
push ebx
call fcn.00492da0
add esp, 4
mov esi, dword [esp + 0x10]
lea ecx, [esp + 0x70]
mov edx, 0x75ec42
push 0xb
call fcn.00482560
add esp, 4
mov eax, dword [esp + 0x70]
mov ecx, eax
neg ecx
jo 0x491876
mov ecx, dword [esp + 0x74]
movzx edx, byte [esp + 0x7c]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x78]
test dl, 1
mov byte [esp + 0x38], dl
jne 0x491827
test ecx, ecx
je 0x491827
movzx edx, byte [esp + 0x7f]
movzx esi, word [esp + 0x7d]
shl edx, 0x10
or esi, edx
mov dword [esp + 0x3c], esi
mov esi, dword [esp + 0x20]
lea edi, [esi + ecx]
jmp 0x4917d6
add esi, 2
cmp ebx, edi
cmovne ebx, esi
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp ebx, edi
mov esi, ebx
je 0x491827
movzx edx, byte [esi]
lea ebx, [esi + 1]
test dl, dl
jns 0x4917d0
cmp dl, 0xe0
jb 0x4917b9
cmp dl, 0xed
jne 0x491806
cmp ebx, edi
je 0x491827
lea edx, [esi + 2]
cmp edx, edi
je 0x491827
cmp byte [esi + 1], 0x9f
ja 0x491ef9
add esi, 3
mov ebx, esi
jmp 0x4917d0
add esi, 2
cmp ebx, edi
cmove esi, ebx
xor ebx, ebx
cmp esi, edi
setne bl
add ebx, esi
cmp dl, 0xf0
jb 0x4917d0
xor edx, edx
cmp ebx, edi
setne dl
add ebx, edx
jmp 0x4917d0
mov esi, dword [esp + 0x20]
mov edx, ecx
mov dword [esp + 4], eax
lea edi, [esp + 0x70]
shr edx, 8
mov dword [esp + 8], esi
mov byte [esp + 0xc], cl
mov word [esp + 0xd], dx
mov edx, dword [esp + 0x14]
shr ecx, 0x18
mov byte [esp + 0xf], cl
mov ecx, edi
mov dword [esp], 0x80000001
call fcn.00492040
cmp dword [esp + 0x70], 3
je 0x491bcc
push edi
call fcn.00492da0
add esp, 4
mov esi, dword [esp + 0x10]
lea ecx, [esp + 0x70]
mov edx, 0x75ec4d
push 0xb
call fcn.00482560
add esp, 4
mov eax, dword [esp + 0x70]
mov ecx, eax
neg ecx
jo 0x491996
mov ecx, dword [esp + 0x74]
movzx edx, byte [esp + 0x7c]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x78]
test dl, 1
mov byte [esp + 0x14], dl
jne 0x491947
test ecx, ecx
je 0x491947
movzx edx, byte [esp + 0x7f]
movzx esi, word [esp + 0x7d]
shl edx, 0x10
or esi, edx
mov dword [esp + 0x38], esi
mov esi, dword [esp + 0x20]
lea edi, [esi + ecx]
jmp 0x4918f6
add esi, 2
cmp ebx, edi
cmovne ebx, esi
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp ebx, edi
mov esi, ebx
je 0x491947
movzx edx, byte [esi]
lea ebx, [esi + 1]
test dl, dl
jns 0x4918f0
cmp dl, 0xe0
jb 0x4918d9
cmp dl, 0xed
jne 0x491926
cmp ebx, edi
je 0x491947
lea edx, [esi + 2]
cmp edx, edi
je 0x491947
cmp byte [esi + 1], 0x9f
ja 0x491f47
add esi, 3
mov ebx, esi
jmp 0x4918f0
add esi, 2
cmp ebx, edi
cmove esi, ebx
xor ebx, ebx
cmp esi, edi
setne bl
add ebx, esi
cmp dl, 0xf0
jb 0x4918f0
xor edx, edx
cmp ebx, edi
setne dl
add ebx, edx
jmp 0x4918f0
mov esi, dword [esp + 0x20]
mov edx, ecx
mov dword [esp + 4], eax
lea edi, [esp + 0x70]
shr edx, 8
mov dword [esp + 8], esi
mov byte [esp + 0xc], cl
mov word [esp + 0xd], dx
mov edx, dword [esp + 0x18]
shr ecx, 0x18
mov byte [esp + 0xf], cl
mov ecx, edi
mov dword [esp], 0x80000001
call fcn.00492040
cmp dword [esp + 0x70], 3
je 0x491bcc
push edi
call fcn.00492da0
add esp, 4
mov esi, dword [esp + 0x10]
lea ecx, [esp + 0x70]
mov edx, 0x75ec58
push 0xa
call fcn.00482560
add esp, 4
mov eax, dword [esp + 0x70]
mov ecx, eax
neg ecx
jo 0x491ab6
mov ecx, dword [esp + 0x74]
movzx edx, byte [esp + 0x7c]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x78]
test dl, 1
mov byte [esp + 0x14], dl
jne 0x491a67
test ecx, ecx
je 0x491a67
movzx edx, byte [esp + 0x7f]
movzx esi, word [esp + 0x7d]
shl edx, 0x10
or esi, edx
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x20]
lea edi, [esi + ecx]
jmp 0x491a16
add esi, 2
cmp ebx, edi
cmovne ebx, esi
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp ebx, edi
mov esi, ebx
je 0x491a67
movzx edx, byte [esi]
lea ebx, [esi + 1]
test dl, dl
jns 0x491a10
cmp dl, 0xe0
jb 0x4919f9
cmp dl, 0xed
jne 0x491a46
cmp ebx, edi
je 0x491a67
lea edx, [esi + 2]
cmp edx, edi
je 0x491a67
cmp byte [esi + 1], 0x9f
ja 0x491f95
add esi, 3
mov ebx, esi
jmp 0x491a10
add esi, 2
cmp ebx, edi
cmove esi, ebx
xor ebx, ebx
cmp esi, edi
setne bl
add ebx, esi
cmp dl, 0xf0
jb 0x491a10
xor edx, edx
cmp ebx, edi
setne dl
add ebx, edx
jmp 0x491a10
mov esi, dword [esp + 0x20]
mov edx, ecx
mov dword [esp + 4], eax
lea edi, [esp + 0x70]
shr edx, 8
mov dword [esp + 8], esi
mov byte [esp + 0xc], cl
mov word [esp + 0xd], dx
mov edx, dword [esp + 0x1c]
shr ecx, 0x18
mov byte [esp + 0xf], cl
mov ecx, edi
mov dword [esp], 0x80000001
call fcn.00492040
cmp dword [esp + 0x70], 3
je 0x491bcc
push edi
call fcn.00492da0
add esp, 4
mov esi, dword [esp + 0x10]
lea ecx, [esp + 0x70]
mov edx, 0x75ec62
push 0xa
call fcn.00482560
add esp, 4
mov eax, dword [esp + 0x70]
mov ecx, eax
neg ecx
jo 0x491c5c
mov ecx, dword [esp + 0x74]
movzx edx, byte [esp + 0x7c]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x78]
test dl, 1
mov byte [esp + 0x14], dl
jne 0x491b87
test ecx, ecx
je 0x491b87
movzx edx, byte [esp + 0x7f]
movzx esi, word [esp + 0x7d]
shl edx, 0x10
or esi, edx
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x20]
lea edi, [esi + ecx]
jmp 0x491b36
add esi, 2
cmp ebx, edi
cmovne ebx, esi
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp ebx, edi
mov esi, ebx
je 0x491b87
movzx edx, byte [esi]
lea ebx, [esi + 1]
test dl, dl
jns 0x491b30
cmp dl, 0xe0
jb 0x491b19
cmp dl, 0xed
jne 0x491b66
cmp ebx, edi
je 0x491b87
lea edx, [esi + 2]
cmp edx, edi
je 0x491b87
cmp byte [esi + 1], 0x9f
ja 0x491fe3
add esi, 3
mov ebx, esi
jmp 0x491b30
add esi, 2
cmp ebx, edi
cmove esi, ebx
xor ebx, ebx
cmp esi, edi
setne bl
add ebx, esi
cmp dl, 0xf0
jb 0x491b30
xor edx, edx
cmp ebx, edi
setne dl
add ebx, edx
jmp 0x491b30
mov esi, dword [esp + 0x20]
mov edx, ecx
mov dword [esp + 4], eax
lea edi, [esp + 0x70]
shr edx, 8
mov dword [esp + 8], esi
mov byte [esp + 0xc], cl
mov word [esp + 0xd], dx
mov edx, dword [esp + 0x140]
shr ecx, 0x18
mov byte [esp + 0xf], cl
mov ecx, edi
mov dword [esp], 0x80000001
call fcn.00492040
cmp dword [esp + 0x70], 3
jne 0x491e2b
movsd xmm2, qword [esp + 0x80]
movsd xmm1, qword [esp + 0x88]
mov eax, dword [esp + 0x74]
movsd xmm0, qword [esp + 0x78]
mov esi, dword [esp + 0x10]
movsd qword [esp + 0x48], xmm2
movsd qword [esp + 0x50], xmm1
movsd xmm2, qword [esp + 0x90]
movsd xmm1, qword [esp + 0x98]
mov ecx, eax
movsd qword [esp + 0x40], xmm0
neg ecx
movsd qword [esp + 0x58], xmm2
movsd qword [esp + 0x60], xmm1
jo 0x491c5c
movsd xmm1, qword [esp + 0x48]
mov dword [esi + 0x54], eax
movsd xmm0, qword [esp + 0x40]
movsd xmm2, qword [esp + 0x58]
movsd qword [esi + 0x60], xmm1
movsd xmm1, qword [esp + 0x50]
movsd qword [esi + 0x58], xmm0
movsd qword [esi + 0x70], xmm2
movsd qword [esi + 0x68], xmm1
movsd xmm1, qword [esp + 0x60]
movsd qword [esi + 0x78], xmm1
movzx eax, byte [0x77618d]
xor ecx, ecx
mov edx, 0x90
call fcn.00490be0
test eax, eax
je 0x492031
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
movsd xmm0, qword [esi + 0x9c]
mov ecx, dword fs:[0x2c]
movaps xmmword [esp + 0x20], xmm0
mov eax, dword [0x776190]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 0x50], 0
je 0x491cee
mov eax, dword [0x776190]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
mov ecx, dword [eax + 0x64]
mov ebx, dword [eax + 0x5c]
mov esi, dword [eax + 0x58]
mov eax, dword [eax + 0x60]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], eax
jmp 0x491d3d
xorps xmm0, xmm0
lea eax, [esp + 0x70]
movaps xmmword [esp + 0x70], xmm0
push 0x10
push eax
call dword [sym.imp.bcryptprimitives.dll_ProcessPrng]
mov eax, dword [0x776190]
mov ecx, dword fs:[0x2c]
mov edx, dword [esp + 0x7c]
mov esi, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x14], edx
mov byte [eax + 0x50], 1
mov dword [eax + 0x64], edx
mov dword [esp + 0x1c], ecx
mov dword [eax + 0x60], ecx
mov eax, dword [0x776190]
mov ecx, dword fs:[0x2c]
mov edx, 0x60
mov eax, dword [ecx + eax*4]
mov ecx, esi
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x10]
add ecx, 1
movsd xmm0, qword [esi + 0x88]
mov dword [eax + 0x58], ecx
mov ecx, ebx
adc ecx, 0
mov dword [eax + 0x5c], ecx
xor ecx, ecx
movaps xmmword [esp + 0x140], xmm0
movzx eax, byte [0x77618d]
call fcn.00490be0
test eax, eax
je 0x492031
movaps xmm0, xmmword [esp + 0x140]
mov dword [eax], 1
mov dword [eax + 4], 1
mov edx, eax
movlps qword [eax + 8], xmm0
movsd xmm0, qword [0x75e8c0]
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 [0x75e8c8]
movsd qword [eax + 0x30], xmm0
mov eax, dword [esp + 0x18]
mov dword [edx + 0x3c], ebx
movaps xmm0, xmmword [esp + 0x20]
mov dword [edx + 0x38], eax
mov eax, dword [esp + 0x1c]
mov dword [edx + 0x40], eax
mov eax, dword [esp + 0x14]
mov dword [edx + 0x44], eax
movlps qword [edx + 0x48], xmm0
mov eax, dword [esi + 0x98]
mov dword [edx + 0x58], eax
mov eax, edi
movsd xmm0, qword [esi + 0x90]
movsd qword [edx + 0x50], xmm0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push edi
call fcn.00492da0
add esp, 4
mov esi, dword [esp + 0x10]
jmp 0x491c5c
mov esi, dword [esp + 0x20]
movzx ecx, byte [esp + 0x14]
mov dword [esp], eax
lea edi, [esp + 4]
lea ebx, [esp + 4]
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov byte [esp + 0xc], cl
mov ecx, dword [esp + 0x18]
lea edx, [esp + 4]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], edx
lea edx, [esp + 4]
mov dword [esp + 0x1c], edx
mov word [esp + 0xd], cx
shr ecx, 0x10
test eax, 0x7fffffff
lea eax, [esp + 4]
mov byte [esp + 0xf], cl
mov dword [esp + 0x140], eax
je 0x491637
push esi
push 0
push dword [0x776180]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x491637
mov edx, dword [esp + 0x20]
mov dword [esp], eax
mov esi, dword [esp + 0x10]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
movzx ecx, byte [esp + 0x3c]
mov byte [esp + 0xc], cl
mov ecx, dword [esp + 0x6c]
mov word [esp + 0xd], cx
shr ecx, 0x10
test eax, 0x7fffffff
mov byte [esp + 0xf], cl
je 0x491756
push dword [esp + 4]
push 0
push dword [0x776180]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x491756
mov edx, dword [esp + 0x20]
mov dword [esp], eax
mov esi, dword [esp + 0x10]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
movzx ecx, byte [esp + 0x38]
mov byte [esp + 0xc], cl
mov ecx, dword [esp + 0x3c]
mov word [esp + 0xd], cx
shr ecx, 0x10
test eax, 0x7fffffff
mov byte [esp + 0xf], cl
je 0x491876
push dword [esp + 4]
push 0
push dword [0x776180]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x491876
mov edx, dword [esp + 0x20]
mov dword [esp], eax
mov esi, dword [esp + 0x10]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
movzx ecx, byte [esp + 0x14]
mov byte [esp + 0xc], cl
mov ecx, dword [esp + 0x38]
mov word [esp + 0xd], cx
shr ecx, 0x10
test eax, 0x7fffffff
mov byte [esp + 0xf], cl
je 0x491996
push dword [esp + 4]
push 0
push dword [0x776180]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x491996
mov edx, dword [esp + 0x20]
mov dword [esp], eax
mov esi, dword [esp + 0x10]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
movzx ecx, byte [esp + 0x14]
mov byte [esp + 0xc], cl
mov ecx, dword [esp + 0x18]
mov word [esp + 0xd], cx
shr ecx, 0x10
test eax, 0x7fffffff
mov byte [esp + 0xf], cl
je 0x491ab6
push dword [esp + 4]
push 0
push dword [0x776180]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x491ab6
mov edx, dword [esp + 0x20]
mov dword [esp], eax
mov esi, dword [esp + 0x10]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
movzx ecx, byte [esp + 0x14]
mov byte [esp + 0xc], cl
mov ecx, dword [esp + 0x18]
mov word [esp + 0xd], cx
shr ecx, 0x10
test eax, 0x7fffffff
mov byte [esp + 0xf], cl
je 0x491c5c
push dword [esp + 4]
push 0
push dword [0x776180]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x491c5c
ud2