Function at 0x100089bb
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Get common file path
Resolve dns
Set socket configuration

Disassembly:
push ecx
mov eax, dword [0x100399a4]
cmp eax, 0xffffffff
je 0x10003902
push 0x3a98
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [0x100399a0]
cmp eax, 0xffffffff
je 0x10003942
push eax
call dword [sym.imp.ADVAPI32.dll_ImpersonateLoggedOnUser]
test eax, eax
jne 0x10003928
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0xc
call fcn.10002439
pop ecx
jmp 0x10003949
mov eax, dword [0x100399a0]
push 0x24
push 0
push 0
mov dword [0x1003e6bc], eax
call fcn.100012d0
add esp, 0xc
pop ecx
ret
push 1
call fcn.10002497
pop ecx
pop ecx
ret
push esi
mov esi, dword [0x1003de24]
push edi
push dword [eax]
call sub.WS2_32.dll_ntohl
mov edi, eax
jmp 0x10004535
cmp dword [esi], edi
jne 0x10004532
push dword [esi + 8]
and dword [esi + 4], 0
call fcn.10017c8a
pop ecx
mov esi, dword [esi + 0xc]
test esi, esi
jne 0x10004521
pop edi
pop esi
ret
push dword [eax]
call sub.WS2_32.dll_ntohl
xor edx, edx
mov ecx, 0x1003de50
cmp dword [ecx + 0x24], 1
jne 0x100064f9
cmp dword [ecx], eax
je 0x10006506
add ecx, 0x34
inc edx
cmp ecx, 0x1003e670
jl 0x100064ef
ret
mov eax, edx
imul eax, eax, 0x34
push 0xa
push dword [eax + 0x1003de7c]
push dword [eax + 0x1003de78]
call fcn.100012d0
add esp, 0xc
ret
push dword [eax]
call sub.WS2_32.dll_ntohl
push eax
call fcn.1000667c
pop ecx
ret
push esi
push dword [eax]
mov esi, dword [0x1003de4c]
call sub.WS2_32.dll_ntohl
jmp 0x100077da
cmp dword [esi + 4], 0
je 0x100077d7
cmp eax, dword [esi]
jne 0x100077d7
cmp dword [esi + 0x10], 2
je 0x100077d7
and dword [esi + 4], 0
mov esi, dword [esi + 0x20]
test esi, esi
jne 0x100077c3
pop esi
ret
push ebx
push esi
dec eax
push edi
mov esi, edx
cmp eax, 0x70
ja case.0x100089c6.2
jmp dword [eax*4 + 0x10008d3f]
xor ebx, ebx
inc ebx
push ebx
push esi
push ecx
call fcn.10004cb7
add esp, 0xc
pop edi
pop esi
pop ebx
ret
push 1
push esi
push ecx
call fcn.10004c04
jmp 0x100089d8
pop edi
pop esi
pop ebx
jmp fcn.10002caf
push esi
push ecx
call fcn.10002d1d
pop ecx
pop ecx
jmp case.0x100089c6.2
push ecx
call fcn.10002cc3
jmp 0x100089fa
push 0x1002f70c
push esi
push ecx
call fcn.1000319e
jmp 0x100089d8
push esi
push ecx
call fcn.100042b4
jmp 0x100089f9
push ecx
call fcn.10002d6c
jmp 0x100089fa
push 1
push esi
push ecx
call fcn.1000b2d7
jmp 0x100089d8
mov eax, esi
pop edi
pop esi
pop ebx
jmp fcn.10007424
mov eax, esi
pop edi
pop esi
pop ebx
jmp fcn.10007375
push esi
mov eax, ecx
call fcn.100076cb
jmp 0x100089fa
push esi
mov eax, ecx
call fcn.1000770d
jmp 0x100089fa
mov eax, ecx
pop edi
pop esi
pop ebx
jmp 0x100077b3
push ecx
call fcn.10007317
jmp 0x100089fa
push 1
push esi
mov eax, ecx
call fcn.10004f0d
jmp 0x100089f9
mov eax, ecx
pop edi
pop esi
pop ebx
jmp 0x1000450e
push esi
push ecx
call fcn.10006522
jmp 0x100089f9
mov eax, ecx
pop edi
pop esi
pop ebx
jmp 0x1000666d
mov eax, ecx
pop edi
pop esi
pop ebx
jmp 0x100064e1
pop edi
pop esi
pop ebx
jmp fcn.1000c8e6
pop edi
pop esi
pop ebx
jmp fcn.1000c760
push esi
mov eax, ecx
call fcn.1000c958
jmp 0x100089fa
push esi
push ecx
call fcn.10009031
jmp 0x100089f9
push esi
push ecx
call fcn.10008f58
jmp 0x100089f9
push ecx
mov edi, esi
call fcn.10007e10
jmp 0x100089fa
push esi
push ecx
call fcn.10002efc
jmp 0x100089f9
pop edi
pop esi
pop ebx
jmp fcn.10003240
push 0
xor eax, eax
push esi
push ecx
call fcn.100061ea
jmp 0x100089d8
pop edi
pop esi
pop ebx
jmp fcn.100062fc
push esi
push ecx
call fcn.10006364
jmp 0x100089f9
push 0
jmp 0x100089e1
xor ebx, ebx
push 0
inc ebx
jmp 0x100089d1
push 1
push esi
mov eax, ecx
call fcn.10004f5d
jmp 0x100089f9
push 0
jmp 0x10008b2c
push esi
push ecx
call fcn.10003290
jmp 0x100089f9
push esi
push ecx
call fcn.1000cbdc
jmp 0x100089f9
push 0
push esi
push ecx
call fcn.10007cda
jmp 0x100089d8
push esi
push ecx
call fcn.10007db0
jmp 0x100089f9
push esi
push ecx
call fcn.10003374
jmp 0x100089f9
push esi
push ecx
call fcn.1000480c
jmp 0x100089f9
push esi
push ecx
call fcn.100046c9
jmp 0x100089f9
push esi
push ecx
call fcn.100045a3
jmp 0x100089f9
push esi
push ecx
call fcn.1000467a
jmp 0x100089f9
push esi
push ecx
call fcn.10003430
jmp 0x100089f9
push esi
push ecx
call fcn.1000d657
jmp 0x100089f9
push ecx
call fcn.10003873
jmp 0x100089fa
pop edi
pop esi
pop ebx
jmp 0x100038eb
xor eax, eax
push 0
inc eax
jmp 0x10008af9
push 0x1002f710
jmp 0x10008a0a
push ecx
call fcn.10006873
jmp 0x100089fa
push 0
jmp 0x10008a26
xor ebx, ebx
inc ebx
push ebx
push ebx
push esi
push ecx
call fcn.100050a1
add esp, 0x10
jmp case.0x100089c6.2
push 1
push 0
jmp 0x10008c01
push ecx
call fcn.10002cfe
jmp 0x100089fa
push esi
push ecx
call fcn.100046fc
jmp 0x100089f9
push esi
push ecx
call fcn.10004785
jmp 0x100089f9
push esi
push ecx
call fcn.1000816f
jmp 0x100089f9
push esi
push ecx
call fcn.10002dff
jmp 0x100089f9
push esi
push ecx
call fcn.10003983
jmp 0x100089f9
push esi
push ecx
call fcn.1000309f
jmp 0x100089f9
push esi
push ecx
call fcn.10007e49
jmp 0x100089f9
push esi
push ecx
call fcn.10007d4b
jmp 0x100089f9
push esi
push ecx
call fcn.10001092
jmp 0x100089f9
push esi
mov eax, ecx
call fcn.1000113a
jmp 0x100089fa
pop edi
pop esi
pop ebx
jmp fcn.100011df
push esi
push ecx
call fcn.10006c1f
jmp 0x100089f9
push 0
push 1
jmp 0x10008c01
push 0
jmp 0x10008c12
push 1
xor ebx, ebx
jmp 0x100089d1
push 0
jmp 0x10008cc0
push 0
jmp 0x10008a6b
push esi
push ecx
call fcn.10008081
jmp 0x100089f9
push 1
push esi
push ecx
call fcn.10004e1b
jmp 0x100089d8
push 0
jmp 0x10008ce0
push 1
push esi
push ecx
call fcn.10004d5c
jmp 0x100089d8
push 0
jmp 0x10008cf2
push esi
push ecx
call fcn.10002110
jmp 0x100089f9
push 1
jmp 0x10008af7
push 0x100007f
jmp 0x10008b57
push esi
push ecx
call fcn.1000d1e1
jmp 0x100089f9
push esi
push ecx
call fcn.100032ba
jmp 0x100089f9
pop edi
pop esi
pop ebx
jmp fcn.100032e6