Function at 0x10008100
Capabilities:
Initialize winsock library

Disassembly:
sub esp, 0x264
push ebx
push esi
push edi
push str.start_porxy
call fcn.10008050
mov al, byte [esp + 0x278]
xor ebx, ebx
add esp, 4
cmp al, bl
je 0x10008171
mov edi, dword [esp + 0x27c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0x1001cce0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x280]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, 0x1001cbe0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
lea eax, [esp + 0x64]
push str.Socks5_d
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
push ebx
call dword [sym.imp.GDI32.dll_GetStockObject]
push 0x7f00
push ebx
mov dword [esp + 0x40], eax
call dword [sym.imp.USER32.dll_LoadCursorA]
push 0x7f00
push ebx
mov dword [esp + 0x3c], eax
call dword [sym.imp.USER32.dll_LoadIconA]
lea ecx, [esp + 0x60]
push str.create_windows
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], ebx
mov dword [esp + 0x24], 0x10008400
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x20], 3
call fcn.10008050
add esp, 4
lea edx, [esp + 0x1c]
push edx
call dword [sym.imp.USER32.dll_RegisterClassA]
test ax, ax
jne 0x1000820a
pop edi
pop esi
or eax, 0xffffffff
pop ebx
add esp, 0x264
ret 0x14
push ebx
push ebx
push ebx
push ebx
push 0x12c
push 0x258
push ebx
push ebx
push 0xcf0000
lea eax, [esp + 0x84]
push 0x1001a998
push eax
push ebx
call dword [sym.imp.USER32.dll_CreateWindowExA]
cmp eax, ebx
mov dword [0x1001cde4], eax
jne 0x1000824b
pop edi
pop esi
or eax, 0xffffffff
pop ebx
add esp, 0x264
ret 0x14
push ebx
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [0x1001cde4]
push ecx
call dword [sym.imp.USER32.dll_UpdateWindow]
lea edx, [esp + 0xe0]
push edx
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x10008286
pop edi
pop esi
or eax, 0xffffffff
pop ebx
add esp, 0x264
ret 0x14
push ebx
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
cmp eax, 0xffffffff
mov dword [0x1001cde0], eax
jne 0x100082a9
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x264
ret 0x14
mov ecx, dword [0x1001cde4]
push 0x28
push 0x401
push ecx
push eax
call dword [sym.imp.WS2_32.dll_WSAAsyncSelect]
cmp eax, 0xffffffff
jne 0x100082d1
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x264
ret 0x14
mov eax, dword [esp + 0x278]
xor edx, edx
mov dword [esp + 0xc], edx
push eax
mov dword [esp + 0x14], edx
mov word [esp + 0x10], 2
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], edx
call dword [sym.imp.WS2_32.dll_htons]
push ebx
mov word [esp + 0x12], ax
call dword [sym.imp.WS2_32.dll_htonl]
mov edx, dword [0x1001cde0]
lea ecx, [esp + 0xc]
push 0x10
push ecx
push edx
mov dword [esp + 0x1c], eax
call dword [sym.imp.WS2_32.dll_bind]
cmp eax, 0xffffffff
jne 0x1000832f
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x264
ret 0x14
mov eax, dword [0x1001cde0]
push bind
push eax
call dword [sym.imp.WS2_32.dll_listen]
cmp eax, 0xffffffff
jne 0x10008353
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x264
ret 0x14
mov esi, dword [sym.imp.USER32.dll_GetMessageA]
push ebx
push ebx
lea ecx, [esp + 0x4c]
push ebx
push ecx
call esi
test eax, eax
jle 0x10008391
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
push ebp
mov ebp, dword [sym.imp.USER32.dll_DispatchMessageA]
lea edx, [esp + 0x48]
push edx
call edi
lea eax, [esp + 0x48]
push eax
call ebp
push ebx
push ebx
lea ecx, [esp + 0x50]
push ebx
push ecx
call esi
test eax, eax
jg 0x10008374
pop ebp
mov eax, dword [esp + 0x4c]
pop edi
pop esi
pop ebx
add esp, 0x264
ret 0x14