Function at 0x408426
Capabilities:
Receive data
Receive data on socket

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc4
push ebx
mov ebx, dword [ebp + 8]
lea eax, [ebp - 0xc4]
xor ecx, ecx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x1c], ecx
mov byte [ebp - 5], cl
push esi
push edi
test ebx, ebx
je 0x4087b2
cmp dword [ebx], 0xbab1e
jne 0x4087b2
cmp byte [ebx + 0xe6], cl
je 0x40846d
push 8
pop eax
jmp 0x4087b5
mov edi, dword [ebp + 0x14]
test edi, edi
jns 0x408478
push 0xa
jmp 0x408467
mov esi, dword [ebx + 4]
test esi, esi
je 0x4084de
mov edi, ecx
lea eax, [ebp - 0x34]
push eax
push esi
call fcn.004073bf
pop ecx
pop ecx
mov dword [ebp - 4], eax
xor edx, edx
mov ebx, eax
or eax, 0xffffffff
mov ecx, edx
mov dword [ebp - 0xc], eax
xor eax, eax
inc eax
shl eax, cl
test ebx, eax
je 0x4084ad
mov eax, dword [ebp + edx*4 - 0x34]
inc edi
mov dword [ebp - 0xc], eax
xor eax, eax
lea ecx, [edx + 0x10]
inc eax
shl eax, cl
test ebx, eax
je 0x4084c0
mov eax, dword [ebp + edx*4 - 0x34]
inc edi
jmp 0x4084c3
mov eax, dword [ebp - 0xc]
cmp eax, 0xffffffff
je 0x4084ce
inc edx
cmp edx, 5
jb 0x408494
mov esi, dword [esi + 4]
mov dword [ebp - 0x18], edi
test esi, esi
jne 0x408481
mov ebx, dword [ebp + 8]
mov edi, dword [ebp + 0x14]
lea eax, [ebp - 4]
push eax
push ebx
call fcn.0040835b
mov eax, dword [ebp - 4]
pop ecx
pop ecx
test eax, eax
js 0x4084f9
cmp eax, edi
cmovl edi, eax
mov dword [ebp + 0x14], edi
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp - 0x18]
add eax, esi
cmp byte [ebp + 0x20], 0
mov dword [ebp - 0x20], eax
je 0x408514
cmp dword [ebx + 0xdc], 0xffffffff
je 0x408514
inc eax
cmp eax, 0xa
jbe 0x408536
shl eax, 3
push eax
call dword [section..data]
mov dword [ebp - 0x14], eax
pop ecx
test eax, eax
jne 0x408532
push 3
jmp 0x408467
mov byte [ebp - 5], 1
xor edi, edi
mov dword [ebp - 0x10], edi
test esi, esi
je 0x4085d1
mov eax, dword [ebx + 4]
mov dword [ebp - 4], eax
test eax, eax
je 0x4085d1
mov ebx, dword [ebp - 0x14]
lea ecx, [ebp - 0x34]
push ecx
push eax
call fcn.004073bf
pop ecx
pop ecx
mov dword [ebp - 0xc], eax
xor esi, esi
or dword [ebp - 0x10], 0xffffffff
xor edx, edx
inc edx
mov ecx, esi
shl edx, cl
test eax, edx
je 0x40858c
mov eax, dword [ebp + esi*4 - 0x34]
mov dword [ebx + edi*8], eax
mov eax, 0x300
mov word [ebx + edi*8 + 4], ax
inc edi
mov edx, dword [ebp + esi*4 - 0x34]
jmp 0x40858f
mov edx, dword [ebp - 0x10]
xor eax, eax
lea ecx, [esi + 0x10]
inc eax
shl eax, cl
test dword [ebp - 0xc], eax
je 0x4085b0
mov eax, dword [ebp + esi*4 - 0x34]
mov dword [ebx + edi*8], eax
push 0x10
pop eax
mov word [ebx + edi*8 + 4], ax
inc edi
mov edx, dword [ebp + esi*4 - 0x34]
cmp edx, 0xffffffff
je 0x4085be
mov eax, dword [ebp - 0xc]
inc esi
cmp esi, 5
jb 0x408565
mov eax, dword [ebp - 4]
mov dword [ebp - 0x10], edi
mov eax, dword [eax + 4]
mov dword [ebp - 4], eax
test eax, eax
jne 0x408554
mov ebx, dword [ebp + 8]
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x40865d
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + 0xc]
add ecx, 4
add edx, 4
lea ecx, [ecx + edi*8]
add edi, eax
mov dword [ebp - 0x10], edi
mov edi, eax
mov eax, dword [edx - 4]
xor ebx, ebx
mov dword [ecx - 4], eax
xor eax, eax
mov word [ecx], ax
movzx eax, word [edx]
mov dword [ebp - 0xc], ebx
mov esi, eax
test al, 1
je 0x40861b
mov eax, 0x300
mov word [ecx], ax
mov ebx, eax
movzx esi, word [edx]
mov dword [ebp - 0xc], eax
movzx eax, si
movzx ebx, bx
mov esi, eax
mov dword [ebp - 4], esi
test al, 2
je 0x40863d
mov eax, dword [ebp - 0xc]
or eax, 0x400
mov word [ecx], ax
movzx ebx, ax
movzx eax, word [edx]
jmp 0x408640
mov eax, dword [ebp - 4]
test al, 4
je 0x40864c
push 0x10
pop eax
or ebx, eax
mov word [ecx], bx
add ecx, 8
add edx, 8
sub edi, 1
jne 0x4085f2
mov edi, dword [ebp - 0x10]
mov ebx, dword [ebp + 8]
cmp byte [ebp + 0x20], 0
mov esi, dword [ebp - 0x14]
je 0x408682
mov eax, dword [ebx + 0xdc]
cmp eax, 0xffffffff
je 0x408682
mov dword [esi + edi*8], eax
mov eax, 0x300
mov word [esi + edi*8 + 4], ax
inc edi
mov dword [ebp - 0x10], edi
test edi, edi
je 0x408759
mov eax, dword [ebp + 0x14]
cdq
push edx
push eax
push edi
push esi
call fcn.0041e12c
add esp, 0x10
mov dword [ebp - 0xc], eax
test eax, eax
jle 0x408759
cmp dword [ebp + 0x10], 0
mov dword [ebp - 0x1c], eax
je 0x40871c
mov eax, dword [ebp - 0x18]
mov edi, dword [ebp + 0xc]
add edi, 6
lea eax, [eax*8 + 6]
add eax, esi
mov dword [ebp - 4], eax
movsx esi, word [eax]
mov eax, esi
mov ebx, esi
and eax, 0x300
neg eax
sbb eax, eax
neg eax
movzx edx, ax
mov eax, edx
or eax, 4
and bl, 0x10
movzx ecx, ax
mov eax, edx
cmove ecx, eax
movzx edx, cx
mov eax, edx
or eax, 2
and esi, 0x400
movzx ecx, ax
mov eax, edx
cmove ecx, eax
mov eax, dword [ebp - 4]
add eax, 8
mov word [edi], cx
sub dword [ebp + 0x10], 1
lea edi, [edi + 8]
mov dword [ebp - 4], eax
jne 0x4086c3
mov edi, dword [ebp - 0x10]
mov ebx, dword [ebp + 8]
mov esi, dword [ebp - 0x14]
cmp byte [ebp + 0x20], 0
je 0x408759
cmp dword [ebx + 0xdc], 0xffffffff
je 0x408759
mov eax, dword [ebp - 0x20]
mov ecx, 0x300
test word [esi + eax*8 + 6], cx
je 0x408759
push 0
push 0x40
lea eax, [ebp - 0x74]
push eax
push dword [ebx + 0xdc]
call dword [sym.imp.WS2_32.dll_recv]
test eax, eax
jg 0x40873a
mov eax, dword [ebp - 0xc]
dec eax
mov dword [ebp - 0x1c], eax
cmp byte [ebp - 5], 0
je 0x408767
push esi
call dword [0x46c004]
pop ecx
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x408773
mov ecx, dword [ebp - 0x1c]
mov dword [eax], ecx
cmp byte [ebp + 0x1c], 0
je 0x4087ae
test edi, edi
jne 0x4087ae
and dword [ebp + 8], edi
lea eax, [ebp + 8]
push eax
push ebx
call sym.knocker.exe_curl_multi_timeout
pop ecx
pop ecx
test eax, eax
jne 0x4087ae
mov eax, dword [ebp + 8]
test eax, eax
je 0x4087ae
mov ecx, dword [ebp + 0x14]
cmp eax, ecx
jg 0x4087a2
test eax, eax
jns 0x4087a4
mov eax, ecx
cdq
push edx
push eax
call fcn.0041e4b2
pop ecx
pop ecx
xor eax, eax
jmp 0x4087b5
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
leave
ret