Function at 0x1001e270
Capabilities:
Send data
Send data on socket

Disassembly:
sub esp, 0xc4
mov eax, dword [0x100a3428]
xor eax, esp
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xc8]
push ebp
xor ebp, ebp
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x74]
mov dword [esp + 8], eax
mov dword [esp + 0x30], edx
mov dword [esp + 0x20], ebp
mov dword [esp + 0xc], ecx
mov dword [esp + 0x28], ebp
cmp eax, ebp
je 0x1001e88d
cmp dword [eax], 0xbab1e
jne 0x1001e88d
cmp dword [eax + 0x104], ebp
je 0x1001e2df
lea eax, [ebp + 8]
pop ebp
mov ecx, dword [esp + 0xc0]
xor ecx, esp
call fcn.1005cc54
add esp, 0xc4
ret
cmp dword [esp + 0xd4], ebp
jge 0x1001e303
mov eax, 0xa
pop ebp
mov ecx, dword [esp + 0xc0]
xor ecx, esp
call fcn.1005cc54
add esp, 0xc4
ret
push ebx
mov ebx, dword [eax + 4]
push esi
push edi
cmp ebx, ebp
je 0x1001e362
lea ecx, [ecx]
lea edx, [esp + 0x6c]
mov ecx, ebx
call fcn.1001d030
xor esi, esi
mov edi, 1
or ecx, 0xffffffff
test eax, edi
je 0x1001e335
mov edx, dword [esp + esi*4 + 0x6c]
cmp edx, 0xffffffff
jae 0x1001e335
inc ebp
mov ecx, edx
mov edx, edi
rol edx, 0x10
test eax, edx
je 0x1001e34a
mov edx, dword [esp + esi*4 + 0x6c]
cmp edx, 0xffffffff
jae 0x1001e34a
inc ebp
mov ecx, edx
cmp ecx, 0xffffffff
je 0x1001e357
inc esi
rol edi, 1
cmp esi, 5
jb 0x1001e322
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x1001e310
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x24]
push ecx
call fcn.1001d980
mov eax, dword [esp + 0x28]
add esp, 4
test eax, eax
js 0x1001e387
cmp eax, dword [esp + 0xe0]
jge 0x1001e387
mov dword [esp + 0xe0], eax
mov esi, ebp
add ebp, dword [esp + 0xdc]
cmp dword [esp + 0xe8], 0
mov dword [esp + 0x24], esi
je 0x1001e39f
inc ebp
cmp ebp, 0xa
jbe 0x1001e3cf
lea edx, [ebp*8]
push edx
call dword [section..data]
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
jne 0x1001e3c7
mov eax, 3
jmp 0x1001e836
mov dword [esp + 0x34], 1
xor ebx, ebx
mov dword [esp + 0x20], ebx
test esi, esi
je 0x1001e4e6
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
mov dword [esp + 0x10], eax
test eax, eax
je 0x1001e4e6
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x6c]
call fcn.1001d030
mov dword [esp + 0x28], eax
xor ebp, ebp
mov edx, dword [esp + 0x28]
mov eax, 1
mov ecx, ebp
shl eax, cl
or esi, 0xffffffff
xor edi, edi
test edx, eax
je 0x1001e43f
mov eax, dword [esp + ebp*4 + 0x6c]
cmp eax, 0xffffffff
jae 0x1001e43f
mov esi, eax
mov eax, dword [esp + 0x18]
mov ecx, 1
mov dword [eax + ebx*8], esi
mov word [eax + ebx*8 + 4], cx
inc ebx
mov edi, 0x29
mov dword [esp + 0x20], ebx
lea ecx, [ebp + 0x10]
mov eax, 1
shl eax, cl
test edx, eax
je 0x1001e4a9
mov eax, dword [esp + ebp*4 + 0x6c]
cmp eax, 0xffffffff
jae 0x1001e4a9
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x3c]
push edx
push 0x1008
mov esi, eax
push 0xffff
push esi
or edi, 0x32
mov dword [esp + 0x30], 4
call dword [sym.imp.WS2_32.dll_getsockopt]
test eax, eax
jne 0x1001e493
cmp dword [esp + 0x38], 1
jne 0x1001e493
push eax
push eax
push eax
push esi
call dword [sym.imp.WS2_32.dll_send]
mov eax, dword [esp + 0x18]
mov ecx, 4
mov dword [eax + ebx*8], esi
mov word [eax + ebx*8 + 4], cx
inc ebx
mov dword [esp + 0x20], ebx
cmp esi, 0xffffffff
je 0x1001e4d3
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0xf4]
push edi
push eax
push esi
call dword [sym.imp.WS2_32.dll_WSAEventSelect]
test eax, eax
jne 0x1001e81c
inc ebp
cmp ebp, 5
jb 0x1001e403
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1001e3f0
mov esi, dword [esp + 0xdc]
mov dword [esp + 0x28], 0
test esi, esi
je 0x1001e5da
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x30]
lea ebx, [ecx + eax*8 + 4]
add esi, 4
movzx eax, word [esi]
xor ebp, ebp
test al, 1
je 0x1001e51e
mov ebp, 0x29
test al, 2
je 0x1001e525
or ebp, 4
test al, 4
je 0x1001e567
mov edi, dword [esi - 4]
lea edx, [esp + 0x38]
push edx
lea eax, [esp + 0x20]
push eax
push 0x1008
push 0xffff
push edi
or ebp, 0x32
mov dword [esp + 0x4c], 4
call dword [sym.imp.WS2_32.dll_getsockopt]
test eax, eax
jne 0x1001e567
cmp dword [esp + 0x1c], 1
jne 0x1001e567
push eax
push eax
push eax
push edi
call dword [sym.imp.WS2_32.dll_send]
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0xf4]
mov eax, dword [esi - 4]
push ebp
push edx
push eax
call dword [sym.imp.WS2_32.dll_WSAEventSelect]
test eax, eax
jne 0x1001e84f
mov ecx, dword [esi - 4]
xor edx, edx
mov dword [ebx - 4], ecx
mov word [ebx], dx
test byte [esi], 1
je 0x1001e59d
mov eax, 1
mov word [ebx], ax
test byte [esi], 2
je 0x1001e5a6
or word [ebx], 2
test byte [esi], 4
je 0x1001e5af
or word [ebx], 4
mov eax, dword [esp + 0x28]
inc dword [esp + 0x20]
inc eax
add ebx, 8
add esi, 8
mov dword [esp + 0x28], eax
cmp eax, dword [esp + 0xdc]
jb 0x1001e510
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0xdc]
test ebx, ebx
jne 0x1001e85d
cmp dword [esp + 0xe8], ebx
je 0x1001e791
mov dword [esp + 0x1c], ebx
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0x14]
push 0
push eax
push 0
add ecx, 0xf4
push ecx
push 1
call dword [sym.imp.WS2_32.dll_WSAWaitForMultipleEvents]
test esi, esi
je 0x1001e6d0
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
mov ebp, dword [esp + 0x30]
lea ecx, [edx + eax*8 + 6]
add ebp, 6
mov dword [esp + 0x10], ecx
mov dword [esp + 0x30], esi
mov edx, dword [esp + 0x10]
mov edi, dword [ebp - 6]
movsx ebx, word [edx]
lea eax, [esp + 0x40]
push eax
xor esi, esi
push esi
push edi
mov dword [esp + 0x4c], esi
call dword [sym.imp.WS2_32.dll_WSAEnumNetworkEvents]
test eax, eax
jne 0x1001e687
mov eax, dword [esp + 0x40]
test al, 0x29
je 0x1001e663
mov esi, 1
test al, 0x32
je 0x1001e66a
or esi, 4
test al, 4
je 0x1001e671
or esi, 2
cmp dword [esp + 0x3c], 0
je 0x1001e687
cmp dword [esp + 0x1c], 0
jne 0x1001e687
test eax, eax
je 0x1001e687
inc dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0xf4]
push 0
push edx
push edi
call dword [sym.imp.WS2_32.dll_WSAEventSelect]
cmp dword [esp + 0x1c], 0
je 0x1001e6ba
test bl, 1
je 0x1001e6aa
or esi, 1
test bl, 4
je 0x1001e6b2
or esi, 4
test bl, 2
je 0x1001e6ba
or esi, 2
add dword [esp + 0x10], 8
mov word [ebp], si
add ebp, 8
dec dword [esp + 0x30]
jne 0x1001e635
cmp dword [esp + 0x24], 0
mov ebx, dword [esp + 0x14]
je 0x1001e780
mov eax, dword [ebx + 4]
mov dword [esp + 0x10], eax
test eax, eax
je 0x1001e780
mov ebp, dword [sym.imp.WS2_32.dll_WSAEventSelect]
jmp 0x1001e700
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x6c]
call fcn.1001d030
mov dword [esp + 0x28], eax
xor esi, esi
mov edi, 1
mov eax, edi
rol eax, 0x10
or eax, edi
test dword [esp + 0x28], eax
je 0x1001e771
mov eax, dword [esp + esi*4 + 0x6c]
lea edx, [esp + 0x40]
push edx
push 0
push eax
mov dword [esp + 0x4c], 0
call dword [sym.imp.WS2_32.dll_WSAEnumNetworkEvents]
test eax, eax
jne 0x1001e759
cmp dword [esp + 0x3c], eax
je 0x1001e759
cmp dword [esp + 0x1c], eax
jne 0x1001e759
cmp dword [esp + 0x40], eax
je 0x1001e759
inc dword [esp + 0x2c]
mov ecx, dword [ebx + 0xf4]
mov edx, dword [esp + esi*4 + 0x6c]
push 0
push ecx
push edx
call ebp
inc esi
rol edi, 1
cmp esi, 5
jb 0x1001e718
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1001e700
mov ecx, dword [ebx + 0xf4]
push ecx
call dword [sym.imp.WS2_32.dll_WSAResetEvent]
mov ebx, dword [esp + 0x20]
cmp dword [esp + 0x34], 0
je 0x1001e7a6
mov edx, dword [esp + 0x18]
push edx
call dword [0x100a3004]
add esp, 4
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x1001e7b4
mov ecx, dword [esp + 0x2c]
mov dword [eax], ecx
cmp dword [esp + 0xe4], 0
je 0x1001e818
test ebx, ebx
jne 0x1001e818
cmp dword [esp + 0xe8], ebx
jne 0x1001e818
mov eax, dword [esp + 0x14]
cmp dword [eax], 0xbab1e
mov dword [esp + 0x24], ebx
jne 0x1001e818
cmp dword [eax + 0x104], ebx
jne 0x1001e818
lea edx, [esp + 0x24]
push edx
call fcn.1001d980
add esp, 4
test eax, eax
jne 0x1001e818
mov eax, dword [esp + 0x24]
test eax, eax
je 0x1001e818
mov ecx, dword [esp + 0xe0]
cmp eax, ecx
jg 0x1001e80b
test eax, eax
jns 0x1001e80d
mov eax, ecx
cdq
push edx
push eax
call fcn.1004abc0
add esp, 8
xor eax, eax
jmp 0x1001e836
cmp dword [esp + 0x34], 0
je 0x1001e831
mov edx, dword [esp + 0x18]
push edx
call dword [0x100a3004]
add esp, 4
mov eax, 4
pop edi
pop esi
pop ebx
pop ebp
mov ecx, dword [esp + 0xc0]
xor ecx, esp
call fcn.1005cc54
add esp, 0xc4
ret
cmp dword [esp + 0x34], 0
je 0x1001e831
mov ecx, dword [esp + 0x18]
push ecx
jmp 0x1001e828
mov edx, dword [esp + 0x18]
push 0
push 0
push ebx
push edx
call fcn.1004acb0
add esp, 0x10
mov dword [esp + 0x1c], eax
test eax, eax
jns 0x1001e87e
mov eax, 0xc
jmp 0x1001e836
jle 0x1001e5f3
mov dword [esp + 0x2c], eax
jmp 0x1001e612
mov ecx, dword [esp + 0xc4]
pop ebp
xor ecx, esp
mov eax, 1
call fcn.1005cc54
add esp, 0xc4
ret