Function at 0x43a6a0
Capabilities:
Check for time delay via gettickcount
Set socket configuration

Disassembly:
sub esp, 0x16c
mov eax, dword [0x4c8630]
xor eax, esp
mov dword [esp + 0x164], eax
mov eax, dword [esp + 0x170]
push ebx
push ebp
mov ebp, dword [esp + 0x180]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + edx*4 + 0x134]
push esi
mov esi, dword [ebp]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x19c]
mov dword [esp + 0x18], ecx
xor ecx, ecx
push edi
mov dword [esp + 0x10], esi
mov ebx, 0x493e0
test eax, eax
jle 0x43a6f6
mov ecx, 1
mov edx, dword [esi + 0x1a0]
test edx, edx
jle 0x43a703
or ecx, 2
sub ecx, 1
je 0x43a71a
sub ecx, 1
je 0x43a716
sub ecx, 1
jne 0x43a71c
cmp eax, edx
jl 0x43a71a
mov ebx, edx
jmp 0x43a71c
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, 0x10624dd3
mul ecx
mov eax, dword [esp + 0x10]
mov edi, edx
shr edi, 6
mov esi, dword [esi + 0x4d0]
mov edx, edi
imul edx, edx, 0x3e8
sub ecx, edx
imul ecx, ecx, 0x3e8
sub ecx, dword [eax + 0x4d4]
mov eax, 0x10624dd3
imul ecx
sub esi, edi
imul esi, esi, 0x3e8
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub esi, ecx
add ebx, esi
je 0x43a773
test ebx, ebx
jge 0x43a78b
mov eax, dword [esp + 0x10]
push str.Connection_time_out
call fcn.00433ce0
mov eax, 0x1c
jmp 0x43ab79
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x20]
push edx
push 0x8004667e
push eax
mov dword [esp + 0x2c], 0
call dword [sym.imp.WS2_32.dll_ioctlsocket]
mov eax, dword [esp + 0x184]
mov ecx, eax
sar ecx, 8
cmp dword [esp + 0x18c], 0
mov byte [esp + 0x28], 4
mov byte [esp + 0x29], 1
mov byte [esp + 0x2a], cl
mov byte [esp + 0x2b], al
jne 0x43a8c2
lea edx, [esp + 0x20]
push edx
push eax
mov eax, dword [esp + 0x24]
push eax
push ebp
call fcn.00432980
add esp, 0x10
cmp eax, 0xffffffff
jne 0x43a7f7
mov eax, 5
jmp 0x43ab7c
cmp eax, 1
jne 0x43a80b
lea ecx, [esp + 0x20]
push ecx
mov ebx, ebp
call fcn.004331f0
add esp, 4
mov edi, dword [esp + 0x20]
test edi, edi
je 0x43a8a2
mov ebx, dword [edi]
test ebx, ebx
je 0x43a8a2
mov eax, dword [ebx + 4]
sub eax, 2
jne 0x43a841
mov eax, dword [ebx + 0x18]
add eax, 4
push 0x40
push eax
lea esi, [esp + 0x138]
call fcn.004524c0
add esp, 8
lea edx, [esp + 0x26]
push edx
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x2a]
push ecx
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x140]
push str._hu._hu._hu._hu
push eax
call fcn.0048d213
add esp, 0x18
cmp eax, 4
jne 0x43a893
movzx ecx, byte [esp + 0x20]
mov dl, byte [esp + 0x22]
mov al, byte [esp + 0x24]
mov byte [esp + 0x2c], cl
movzx ecx, byte [esp + 0x26]
mov byte [esp + 0x2d], dl
mov byte [esp + 0x2e], al
mov byte [esp + 0x2f], cl
jmp 0x43a895
xor ebx, ebx
mov esi, dword [esp + 0x10]
call fcn.00432b70
test ebx, ebx
jne 0x43a8c2
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
push edx
push str.Failed_to_resolve___s__for_SOCKS4_connect.
call fcn.00433ce0
add esp, 8
mov eax, 6
jmp 0x43ab7c
mov edx, dword [esp + 0x14]
mov byte [esp + 0x30], 0
test edx, edx
je 0x43a8fe
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43a8d4
sub eax, esi
cmp eax, 0xfe
jb 0x43a8ee
push str.Too_long_SOCKS_proxy_name__cant_use__n
jmp 0x43ab6b
inc eax
push eax
push edx
lea eax, [esp + 0x38]
push eax
call fcn.0048b710
add esp, 0xc
lea eax, [esp + 0x30]
xor edi, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43a907
sub eax, edx
cmp dword [esp + 0x18c], 0
lea esi, [eax + 9]
je 0x43a966
mov ebx, dword [esp + 0x1c]
mov eax, ebx
mov byte [esp + 0x2c], cl
mov byte [esp + 0x2d], cl
mov byte [esp + 0x2e], cl
mov byte [esp + 0x2f], 1
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43a937
sub eax, edx
lea edi, [eax + 1]
lea ecx, [esi + edi]
cmp ecx, 0x106
jg 0x43a964
mov edx, esi
sub edx, ebx
mov eax, ebx
lea edx, [esp + edx + 0x28]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x43a958
jmp 0x43a966
xor edi, edi
mov ebx, dword [esp + 0x18]
xor eax, eax
cmp ebx, dword [ebp + 0x138]
lea ecx, [esp + 0x14]
sete al
push ecx
add esi, edi
push esi
lea edx, [esp + 0x30]
push edx
push eax
push ebp
call fcn.00433f10
add esp, 0x14
cmp dword [esp + 0x14], 0
mov dword [esp + 0x18], eax
jne 0x43ab66
cmp eax, esi
jne 0x43ab66
cmp dword [esp + 0x18c], 0
je 0x43a9f1
test edi, edi
jne 0x43a9f1
mov edi, dword [esp + 0x1c]
mov eax, edi
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43a9c0
sub eax, edx
lea esi, [eax + 1]
lea eax, [esp + 0x18]
push eax
push esi
push edi
mov edx, ebx
mov eax, ebp
call fcn.00433fa0
add esp, 0xc
test eax, eax
jne 0x43ab66
cmp dword [esp + 0x18], esi
jne 0x43ab66
lea ecx, [esp + 0x14]
push ecx
push 8
lea edx, [esp + 0x30]
push edx
push ebx
push ebp
call fcn.0043a3b0
add esp, 0x14
test eax, eax
jne 0x43ab5f
cmp dword [esp + 0x14], 8
jne 0x43ab5f
cmp byte [esp + 0x28], al
je 0x43aa2a
push str.SOCKS4_reply_has_wrong_version__version_should_be_4.
jmp 0x43ab6b
movzx eax, byte [esp + 0x29]
lea ecx, [eax - 0x5a]
cmp ecx, 3
ja case.default.0x43aa3b
jmp dword [ecx*4 + 0x43ab98]
cmp dword [esp + 0x18c], 0
mov eax, 0x4bb81c
jne 0x43aa56
mov eax, 0x4b94d7
mov ecx, dword [esp + 0x10]
push eax
push str.SOCKS4_s_request_granted._n
call fcn.00433c20
add esp, 8
lea eax, [esp + 0x14]
push eax
push 0x8004667e
push ebx
mov dword [esp + 0x20], 1
call dword [sym.imp.WS2_32.dll_ioctlsocket]
xor eax, eax
jmp 0x43ab7c
movzx ecx, byte [esp + 0x30]
movzx edx, byte [esp + 0x31]
push eax
movzx eax, byte [esp + 0x33]
shl ecx, 8
or ecx, edx
movzx edx, byte [esp + 0x31]
push ecx
movzx ecx, byte [esp + 0x36]
push eax
movzx eax, byte [esp + 0x38]
push ecx
push edx
push eax
push str.Cant_complete_SOCKS4_connection_to__d._d._d._d:_d.___d___request_rejected_or_failed.
mov eax, dword [esp + 0x2c]
call fcn.00433ce0
add esp, 0x1c
mov eax, 7
jmp 0x43ab7c
movzx ecx, byte [esp + 0x30]
movzx edx, byte [esp + 0x31]
push eax
movzx eax, byte [esp + 0x33]
shl ecx, 8
or ecx, edx
movzx edx, byte [esp + 0x31]
push ecx
movzx ecx, byte [esp + 0x36]
push eax
movzx eax, byte [esp + 0x38]
push ecx
push edx
push eax
push str.Cant_complete_SOCKS4_connection_to__d._d._d._d:_d.___d___request_rejected_because_SOCKS_server_cannot_connect_to_identd_on_the_client.
jmp 0x43aab6
movzx ecx, byte [esp + 0x30]
movzx edx, byte [esp + 0x31]
push eax
movzx eax, byte [esp + 0x33]
shl ecx, 8
or ecx, edx
movzx edx, byte [esp + 0x31]
push ecx
movzx ecx, byte [esp + 0x36]
push eax
movzx eax, byte [esp + 0x38]
push ecx
push edx
push eax
push str.Cant_complete_SOCKS4_connection_to__d._d._d._d:_d.___d___request_rejected_because_the_client_program_and_identd_report_different_user_ids.
jmp 0x43aab6
movzx ecx, byte [esp + 0x30]
movzx edx, byte [esp + 0x31]
push eax
movzx eax, byte [esp + 0x33]
shl ecx, 8
or ecx, edx
movzx edx, byte [esp + 0x31]
push ecx
movzx ecx, byte [esp + 0x36]
push eax
movzx eax, byte [esp + 0x38]
push ecx
push edx
push eax
push str.Cant_complete_SOCKS4_connection_to__d._d._d._d:_d.___d___Unknown.
jmp 0x43aab6
push str.Failed_to_receive_SOCKS4_connect_request_ack.
jmp 0x43ab6b
push str.Failed_to_send_SOCKS4_connect_request.
mov eax, dword [esp + 0x14]
call fcn.00433ce0
mov eax, 7
add esp, 4
mov ecx, dword [esp + 0x174]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00488f53
add esp, 0x16c
ret