Function at 0x48c610
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 0x48cdbc
cmp byte [esi + 0xa4], 0
je 0x48cdbc
lea ecx, [esp + 0x70]
mov edx, str.ALL_PROXYall_proxyHTTPS_PROXYhttps_proxyHTTP_PROXYhttp_proxy
push 9
call fcn.0047d140
add esp, 4
mov eax, dword [esp + 0x70]
mov ecx, eax
neg ecx
jno 0x48c686
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 0x48c79b
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 0x48c727
test edx, edx
je 0x48c727
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 0x48c6d6
add esi, 2
cmp ebx, edi
cmovne ebx, esi
nop
cmp ebx, edi
mov esi, ebx
je 0x48c727
movzx ecx, byte [esi]
lea ebx, [esi + 1]
test cl, cl
jns 0x48c6d0
cmp cl, 0xe0
jb 0x48c6c7
cmp cl, 0xed
jne 0x48c706
cmp ebx, edi
je 0x48c727
lea ecx, [esi + 2]
cmp ecx, edi
je 0x48c727
cmp byte [esi + 1], 0x9f
ja 0x48cf9d
add esi, 3
mov ebx, esi
jmp 0x48c6d0
add esi, 2
cmp ebx, edi
cmove esi, ebx
xor ebx, ebx
cmp esi, edi
setne bl
add ebx, esi
cmp cl, 0xf0
jb 0x48c6d0
xor ecx, ecx
cmp ebx, edi
setne cl
add ebx, ecx
jmp 0x48c6d0
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], reloc.WS2_32.dll_accept
call fcn.0048d1a0
cmp dword [esp + 0x70], 3
je 0x48cd2c
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.0048df00
add esp, 4
mov esi, dword [esp + 0x10]
lea ecx, [esp + 0x70]
mov edx, 0x60c4a9
push 9
call fcn.0047d140
add esp, 4
mov eax, dword [esp + 0x70]
mov ecx, eax
neg ecx
jo 0x48c8b6
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 0x48c867
test ecx, ecx
je 0x48c867
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 0x48c816
add esi, 2
cmp ebx, edi
cmovne ebx, esi
nop word [eax + eax]
cmp ebx, edi
mov esi, ebx
je 0x48c867
movzx edx, byte [esi]
lea ebx, [esi + 1]
test dl, dl
jns 0x48c810
cmp dl, 0xe0
jb 0x48c802
cmp dl, 0xed
jne 0x48c846
cmp ebx, edi
je 0x48c867
lea edx, [esi + 2]
cmp edx, edi
je 0x48c867
cmp byte [esi + 1], 0x9f
ja 0x48d00b
add esi, 3
mov ebx, esi
jmp 0x48c810
add esi, 2
cmp ebx, edi
cmove esi, ebx
xor ebx, ebx
cmp esi, edi
setne bl
add ebx, esi
cmp dl, 0xf0
jb 0x48c810
xor edx, edx
cmp ebx, edi
setne dl
add ebx, edx
jmp 0x48c810
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], reloc.WS2_32.dll_accept
call fcn.0048d1a0
cmp dword [esp + 0x70], 3
je 0x48cd2c
push ebx
call fcn.0048df00
add esp, 4
mov esi, dword [esp + 0x10]
lea ecx, [esp + 0x70]
mov edx, 0x60c4b2
push 0xb
call fcn.0047d140
add esp, 4
mov eax, dword [esp + 0x70]
mov ecx, eax
neg ecx
jo 0x48c9d6
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 0x48c987
test ecx, ecx
je 0x48c987
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 0x48c936
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 0x48c987
movzx edx, byte [esi]
lea ebx, [esi + 1]
test dl, dl
jns 0x48c930
cmp dl, 0xe0
jb 0x48c919
cmp dl, 0xed
jne 0x48c966
cmp ebx, edi
je 0x48c987
lea edx, [esi + 2]
cmp edx, edi
je 0x48c987
cmp byte [esi + 1], 0x9f
ja 0x48d059
add esi, 3
mov ebx, esi
jmp 0x48c930
add esi, 2
cmp ebx, edi
cmove esi, ebx
xor ebx, ebx
cmp esi, edi
setne bl
add ebx, esi
cmp dl, 0xf0
jb 0x48c930
xor edx, edx
cmp ebx, edi
setne dl
add ebx, edx
jmp 0x48c930
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], reloc.WS2_32.dll_accept
call fcn.0048d1a0
cmp dword [esp + 0x70], 3
je 0x48cd2c
push edi
call fcn.0048df00
add esp, 4
mov esi, dword [esp + 0x10]
lea ecx, [esp + 0x70]
mov edx, 0x60c4bd
push 0xb
call fcn.0047d140
add esp, 4
mov eax, dword [esp + 0x70]
mov ecx, eax
neg ecx
jo 0x48caf6
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 0x48caa7
test ecx, ecx
je 0x48caa7
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 0x48ca56
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 0x48caa7
movzx edx, byte [esi]
lea ebx, [esi + 1]
test dl, dl
jns 0x48ca50
cmp dl, 0xe0
jb 0x48ca39
cmp dl, 0xed
jne 0x48ca86
cmp ebx, edi
je 0x48caa7
lea edx, [esi + 2]
cmp edx, edi
je 0x48caa7
cmp byte [esi + 1], 0x9f
ja 0x48d0a7
add esi, 3
mov ebx, esi
jmp 0x48ca50
add esi, 2
cmp ebx, edi
cmove esi, ebx
xor ebx, ebx
cmp esi, edi
setne bl
add ebx, esi
cmp dl, 0xf0
jb 0x48ca50
xor edx, edx
cmp ebx, edi
setne dl
add ebx, edx
jmp 0x48ca50
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], reloc.WS2_32.dll_accept
call fcn.0048d1a0
cmp dword [esp + 0x70], 3
je 0x48cd2c
push edi
call fcn.0048df00
add esp, 4
mov esi, dword [esp + 0x10]
lea ecx, [esp + 0x70]
mov edx, 0x60c4c8
push 0xa
call fcn.0047d140
add esp, 4
mov eax, dword [esp + 0x70]
mov ecx, eax
neg ecx
jo 0x48cc16
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 0x48cbc7
test ecx, ecx
je 0x48cbc7
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 0x48cb76
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 0x48cbc7
movzx edx, byte [esi]
lea ebx, [esi + 1]
test dl, dl
jns 0x48cb70
cmp dl, 0xe0
jb 0x48cb59
cmp dl, 0xed
jne 0x48cba6
cmp ebx, edi
je 0x48cbc7
lea edx, [esi + 2]
cmp edx, edi
je 0x48cbc7
cmp byte [esi + 1], 0x9f
ja 0x48d0f5
add esi, 3
mov ebx, esi
jmp 0x48cb70
add esi, 2
cmp ebx, edi
cmove esi, ebx
xor ebx, ebx
cmp esi, edi
setne bl
add ebx, esi
cmp dl, 0xf0
jb 0x48cb70
xor edx, edx
cmp ebx, edi
setne dl
add ebx, edx
jmp 0x48cb70
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], reloc.WS2_32.dll_accept
call fcn.0048d1a0
cmp dword [esp + 0x70], 3
je 0x48cd2c
push edi
call fcn.0048df00
add esp, 4
mov esi, dword [esp + 0x10]
lea ecx, [esp + 0x70]
mov edx, 0x60c4d2
push 0xa
call fcn.0047d140
add esp, 4
mov eax, dword [esp + 0x70]
mov ecx, eax
neg ecx
jo 0x48cdbc
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 0x48cce7
test ecx, ecx
je 0x48cce7
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 0x48cc96
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 0x48cce7
movzx edx, byte [esi]
lea ebx, [esi + 1]
test dl, dl
jns 0x48cc90
cmp dl, 0xe0
jb 0x48cc79
cmp dl, 0xed
jne 0x48ccc6
cmp ebx, edi
je 0x48cce7
lea edx, [esi + 2]
cmp edx, edi
je 0x48cce7
cmp byte [esi + 1], 0x9f
ja 0x48d143
add esi, 3
mov ebx, esi
jmp 0x48cc90
add esi, 2
cmp ebx, edi
cmove esi, ebx
xor ebx, ebx
cmp esi, edi
setne bl
add ebx, esi
cmp dl, 0xf0
jb 0x48cc90
xor edx, edx
cmp ebx, edi
setne dl
add ebx, edx
jmp 0x48cc90
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], reloc.WS2_32.dll_accept
call fcn.0048d1a0
cmp dword [esp + 0x70], 3
jne 0x48cf8b
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 0x48cdbc
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 [0x62314d]
xor ecx, ecx
mov edx, 0x90
call fcn.0048bb80
test eax, eax
je 0x48d191
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 [0x623150]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 0x50], 0
je 0x48ce4e
mov eax, dword [0x623150]
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 0x48ce9d
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 [0x623150]
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 [0x623150]
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 [0x62314d]
call fcn.0048bb80
test eax, eax
je 0x48d191
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 [0x60c130]
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 [0x60c138]
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.0048df00
add esp, 4
mov esi, dword [esp + 0x10]
jmp 0x48cdbc
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 0x48c797
push esi
push 0
push dword [0x623140]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x48c797
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 0x48c8b6
push dword [esp + 4]
push 0
push dword [0x623140]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x48c8b6
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 0x48c9d6
push dword [esp + 4]
push 0
push dword [0x623140]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x48c9d6
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 0x48caf6
push dword [esp + 4]
push 0
push dword [0x623140]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x48caf6
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 0x48cc16
push dword [esp + 4]
push 0
push dword [0x623140]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x48cc16
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 0x48cdbc
push dword [esp + 4]
push 0
push dword [0x623140]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x48cdbc
ud2