Function at 0x486880
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x60
mov eax, dword [0x6019e4]
xor eax, esp
mov dword [esp + 0x5c], eax
push ebx
push ebp
push esi
mov esi, dword [esp + 0x70]
xorps xmm0, xmm0
push edi
mov dword [esp + 0x1c], 0
mov ebp, 0x610208
movups xmmword [esp + 0x24], xmm0
mov ecx, dword [esi + 0x44]
mov ebx, ecx
mov edx, dword [esi + 0x40]
sub ebx, edx
sar ebx, 3
mov dword [esp + 0x18], ebx
movq qword [esp + 0x34], xmm0
mov dword [esp + 0x3c], 0
test ebx, ebx
je 0x486f25
cmp ecx, dword [esi + 0x38]
jae 0x486f30
cmp dword [esi + 0x48], 0
lea eax, [ecx + 8]
mov dword [esi + 0x44], eax
mov edi, 0xfff8
je 0x486903
mov eax, dword [edx - 8]
mov dword [ecx], eax
mov eax, dword [edx - 4]
mov dword [ecx + 4], eax
cmp word [edx - 2], di
jb 0x486903
mov eax, dword [edx - 8]
inc dword [eax + 4]
push 0x610228
or edx, 0xffffffff
mov ecx, esi
call fcn.0040fe40
add esp, 4
or edx, 0xffffffff
mov ecx, esi
call fcn.00413790
mov edi, eax
mov ecx, esi
mov dword [esp + 0x20], edi
call fcn.00415510
mov eax, dword [esi + 0x44]
mov ecx, dword [esi + 0x40]
sub eax, ecx
sar eax, 3
test eax, eax
je 0x48693f
test ecx, ecx
jne 0x486944
mov ecx, 0x5ee574
mov eax, 0xfff9
mov dword [esp + 0x10], eax
cmp word [ecx + 6], ax
jne 0x486b94
push 0x610240
xor edx, edx
mov ecx, esi
mov ebp, 0x610234
call fcn.00410720
add esp, 4
test eax, eax
je 0x4869c2
push 0x610240
xor edx, edx
mov ecx, esi
call fcn.0040fe40
mov eax, dword [esi + 0x44]
add esp, 4
mov ecx, dword [esi + 0x40]
sub eax, ecx
sar eax, 3
lea edx, [eax - 1]
cmp edx, eax
jae 0x48699b
lea ebp, [ecx + edx*8]
test ebp, ebp
jne 0x4869a0
mov ebp, 0x5ee574
mov eax, 0xfff8
cmp word [ebp + 6], ax
je 0x4869af
xor ebp, ebp
jmp 0x4869b2
mov ebp, dword [ebp]
lea eax, [ebp + 0x1c]
mov ecx, esi
neg ebp
sbb ebp, ebp
and ebp, eax
call fcn.00415510
push 0x610248
xor edx, edx
mov dword [esp + 0x20], 0
mov ecx, esi
call fcn.00410720
add esp, 4
test eax, eax
je 0x486a05
push 0x610248
xor edx, edx
mov ecx, esi
call fcn.0040fe40
add esp, 4
or edx, 0xffffffff
mov ecx, esi
call fcn.00412c40
mov ecx, esi
mov dword [esp + 0x1c], eax
call fcn.00415510
lea eax, [esp + 0x14]
xor edx, edx
push eax
push 0
push 0x610250
mov ecx, esi
call fcn.00470870
add esp, 0xc
xor edx, edx
mov ecx, esi
push 0x610258
call fcn.00410720
add esp, 4
test eax, eax
je 0x486b14
push 0x610260
xor edx, edx
mov ecx, esi
call fcn.0040fe40
add esp, 4
mov dword [esp + 0x14], 0
or edx, 0xffffffff
mov ecx, esi
push 0x610268
call fcn.00410720
add esp, 4
test eax, eax
je 0x486a8c
push 0x610268
or edx, 0xffffffff
mov ecx, esi
call fcn.0040fe40
add esp, 4
or edx, 0xffffffff
mov ecx, esi
call fcn.00412c40
mov ecx, esi
mov dword [esp + 0x14], eax
call fcn.00415510
push 0x610270
or edx, 0xffffffff
mov ecx, esi
xor ebx, ebx
call fcn.00410720
add esp, 4
test eax, eax
je 0x486af5
push 0x610270
or edx, 0xffffffff
mov ecx, esi
call fcn.0040fe40
mov eax, dword [esi + 0x44]
add esp, 4
mov ecx, dword [esi + 0x40]
sub eax, ecx
sar eax, 3
lea edx, [eax - 1]
cmp edx, eax
jae 0x486acf
lea ebx, [ecx + edx*8]
test ebx, ebx
jne 0x486ad4
mov ebx, 0x5ee574
mov eax, 0xfff8
cmp word [ebx + 6], ax
je 0x486ae3
xor ebx, ebx
jmp 0x486ae5
mov ebx, dword [ebx]
lea eax, [ebx + 0x1c]
mov ecx, esi
neg ebx
sbb ebx, ebx
and ebx, eax
call fcn.00415510
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x24]
push ecx
push eax
mov ecx, ebx
call fcn.004b4ed0
add esp, 8
mov ecx, esi
call fcn.00415510
mov ebx, dword [esp + 0x18]
cmp ebx, 2
jl 0x486b94
mov ecx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
sub ecx, edx
sar ecx, 3
cmp ecx, 1
jbe 0x486b30
lea eax, [edx + 8]
test eax, eax
jne 0x486b35
mov eax, 0x5ee574
movzx ebx, word [eax + 6]
cmp bx, word [esp + 0x10]
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x18]
jne 0x486b56
mov eax, dword [eax]
mov eax, dword [eax]
shr eax, 9
and eax, 1
je 0x486b94
jmp 0x486b62
mov eax, 0xfff7
cmp word [esp + 0x14], ax
jne 0x486b94
cmp ecx, 1
jbe 0x486b6e
lea eax, [edx + 8]
test eax, eax
jne 0x486b73
mov eax, 0x5ee574
mov ecx, 0xfff8
cmp word [eax + 6], cx
jb 0x486f46
push dword [eax]
mov ecx, dword [edi + 0x20]
mov edx, 0x610278
call fcn.0045f010
add esp, 4
mov eax, dword [esi + 0x44]
mov ecx, dword [esi + 0x40]
sub eax, ecx
sar eax, 3
test eax, eax
je 0x486ba7
test ecx, ecx
jne 0x486bac
mov ecx, 0x5ee574
mov eax, 0xfff0
cmp word [ecx + 6], ax
ja 0x486c5f
push 1
push ecx
xor edx, edx
mov ecx, esi
call fcn.00410fe0
add esp, 8
mov dword [esp + 0x1c], eax
cmp ebx, 1
jle 0x486be4
mov edx, 1
mov ecx, esi
call fcn.004122d0
lea ebp, [eax + 0x1c]
jmp 0x486be9
mov ebp, 0x610280
cmp ebx, 2
jle 0x486c5f
mov ecx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
sub ecx, edx
sar ecx, 3
cmp ecx, 2
jbe 0x486c05
lea eax, [edx + 0x10]
test eax, eax
jne 0x486c0a
mov eax, 0x5ee574
movzx ebx, word [eax + 6]
cmp bx, word [esp + 0x10]
jne 0x486c23
mov eax, dword [eax]
mov eax, dword [eax]
shr eax, 9
and eax, 1
je 0x486c5f
jmp 0x486c2d
mov eax, 0xfff7
cmp bx, ax
jne 0x486c5f
cmp ecx, 2
jbe 0x486c39
lea eax, [edx + 0x10]
test eax, eax
jne 0x486c3e
mov eax, 0x5ee574
mov ecx, 0xfff8
cmp word [eax + 6], cx
jb 0x486f5e
push dword [eax]
mov ecx, dword [edi + 0x20]
mov edx, 0x61028c
call fcn.0045f010
add esp, 4
mov edx, dword [edi + 8]
mov ecx, dword [edi]
call fcn.00415060
mov edx, ebp
mov ecx, esi
call fcn.00414170
mov edx, str.remoteHost
mov ecx, esi
call fcn.00471e70
mov ecx, esi
call fcn.00415510
mov ecx, dword [esp + 0x1c]
movzx eax, cx
push eax
push 0x625d0c
lea eax, [esp + 0x64]
push 0x10
push eax
call fcn.00401140
add esp, 0x10
test eax, eax
jle 0x486cb9
push ecx
lea eax, [esp + 0x44]
mov ecx, ebp
push eax
lea edx, [esp + 0x64]
call fcn.004b4cd0
add esp, 8
cmp word [esp + 0x40], 0
je 0x486de4
mov eax, dword [esi + 0x44]
mov ecx, dword [esi + 0x40]
sub eax, ecx
sar eax, 3
test eax, eax
je 0x486cd8
test ecx, ecx
jne 0x486cdd
mov ecx, 0x5ee574
mov edx, 0xfff9
cmp word [ecx + 6], dx
jne 0x486d0e
push 0x6102a0
xor edx, edx
mov ecx, esi
call fcn.00410720
add esp, 4
test eax, eax
je 0x486d09
cmp word [esp + 0x24], 0
je 0x486de4
mov edx, 0xfff9
mov eax, dword [esi + 0x44]
mov ecx, dword [esi + 0x40]
sub eax, ecx
sar eax, 3
test eax, eax
je 0x486d21
test ecx, ecx
jne 0x486d26
mov ecx, 0x5ee574
cmp word [ecx + 6], dx
jne 0x486da2
push 0x610318
xor edx, edx
mov ecx, esi
call fcn.00410720
add esp, 4
test eax, eax
je 0x486da2
push 0x610320
xor edx, edx
mov ecx, esi
call fcn.0040fe40
add esp, 4
or edx, 0xffffffff
mov ecx, esi
push edi
push 0
push 0
push 0
push 0x610328
call fcn.00470870
add esp, 0xc
or edx, 0xffffffff
push eax
push ecx
push 0
push 0
push 0x610334
mov ecx, esi
call fcn.00470870
mov ecx, dword [edi + 4]
add esp, 0x10
push eax
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x54]
push eax
call fcn.004ab380
add esp, 0x18
mov ecx, esi
call fcn.00415510
jmp 0x486db5
mov ecx, dword [edi + 4]
lea eax, [esp + 0x40]
push edi
push 0
push eax
call fcn.004ab000
add esp, 0xc
mov edx, dword [edi + 8]
mov ecx, dword [edi]
call fcn.00415060
mov ecx, dword [edi]
mov edx, dword [ecx + 0x44]
cmp edx, dword [ecx + 0x38]
jae 0x486f76
lea eax, [edx + 8]
mov dword [ecx + 0x44], eax
mov dword [edx + 4], 0xfff50001
push 0x610340
jmp 0x486efa
mov edx, dword [edi + 8]
mov ecx, esi
call fcn.00415060
mov ecx, esi
call fcn.00414550
push 0x6102a8
or edx, 0xffffffff
mov ecx, esi
call fcn.0040fe40
mov eax, dword [esi + 0x44]
add esp, 4
mov ebx, dword [esi + 0x40]
sub eax, ebx
sar eax, 3
lea edx, [eax - 2]
mov dword [esp + 0x18], edx
cmp edx, eax
jae 0x486fc6
lea ecx, [eax - 1]
mov dword [esp + 0x10], ecx
cmp ecx, eax
jae 0x486fb3
mov ecx, dword [ebx + edx*8]
mov eax, dword [ebx + eax*8 - 8]
mov edi, dword [esp + 0x18]
mov edx, dword [ebx + edx*8 + 4]
push 6
push 0x18075380
mov dword [ebx + edi*8], eax
mov eax, dword [esp + 0x18]
push 0xffffffffffffffff
mov eax, dword [ebx + eax*8 + 4]
mov dword [ebx + edi*8 + 4], eax
mov eax, dword [esp + 0x1c]
mov dword [ebx + eax*8], ecx
mov ecx, esi
mov dword [ebx + eax*8 + 4], edx
mov edx, 0x4866e0
call fcn.00414b50
mov ecx, dword [esi + 0x44]
add esp, 0xc
mov edi, dword [esp + 0x20]
cmp ecx, dword [esi + 0x38]
jae 0x486f8a
mov edx, dword [esi + 0x40]
mov eax, ecx
sub eax, edx
sar eax, 3
lea ebx, [eax - 4]
cmp ebx, eax
jae 0x486fa0
lea eax, [ecx + 8]
mov dword [esi + 0x44], eax
mov eax, dword [edx + ebx*8]
mov dword [ecx], eax
mov eax, dword [edx + ebx*8 + 4]
mov dword [ecx + 4], eax
mov eax, 0xfff8
cmp word [ecx + 6], ax
jb 0x486eb8
mov eax, dword [ecx]
inc dword [eax + 4]
push ebp
push str.Cannot_Resolve_Hostname:__s
push 0x154
push 0x6102d4
push 1
push dword [edi]
call fcn.00414ee0
mov ecx, dword [edi]
mov edx, 3
push 0
call fcn.0040e880
add esp, 0x1c
test eax, eax
je 0x486ef5
push str.socket.connect__:
push dword [edi]
call fcn.00471950
add esp, 8
push 0x61030c
mov ecx, dword [edi]
mov edx, 0xfffffffe
call fcn.00410110
mov ecx, dword [edi]
add esp, 4
call fcn.00415510
mov ecx, dword [esp + 0x6c]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.005852a8
add esp, 0x60
ret
push str.Too_few_arguments
push esi
call fcn.00470530
push str.cannot_push_beyond_allocated_stack
push 0x3001109
mov edx, 0x605a90
mov ecx, esi
call fcn.0040d970
push str.heapobject
push 1
push 0x94f
mov edx, 0x60589c
mov ecx, esi
call fcn.0040d990
push str.heapobject
push 2
push 0x94f
mov edx, 0x60589c
mov ecx, esi
call fcn.0040d990
push str.cannot_push_beyond_allocated_stack
push 0x3001063
mov edx, 0x6059f0
call fcn.0040d970
push str.cannot_push_beyond_allocated_stack
push 0x3000445
mov edx, 0x605614
mov ecx, esi
call fcn.0040d970
push 0xfffffffffffffffc
push 0x178
mov edx, 0x605594
mov ecx, esi
call fcn.0040d9d0
push 0xffffffffffffffff
push 0x178
mov edx, 0x605594
mov ecx, esi
call fcn.0040d9d0
push 0xfffffffffffffffe
push 0x178
mov edx, 0x605594
mov ecx, esi
call fcn.0040d9d0
int3