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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov eax, dword [0x448008]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
mov ebx, edx
push edi
mov dword [ebp - 0x20], ebx
cmp byte [esi + 0xc4], 0
je 0x4263d8
cmp byte [esi + 0xc5], 0
je 0x4263b7
mov edi, dword [esi + 0x64]
mov ecx, dword [esi + 0x60]
cmp edi, dword [esi + 0x6c]
jb 0x4263cf
ja 0x426397
cmp ecx, dword [esi + 0x68]
jb 0x4263cf
mov eax, dword [esi + 0x94]
cdq
add eax, ecx
adc edx, edi
cmp edx, dword [esi + 0x7c]
ja 0x4263cf
jb 0x4263ae
cmp eax, dword [esi + 0x78]
jae 0x4263cf
mov ecx, esi
call fcn.00425fd3
jmp 0x4263cf
mov ecx, dword [esi + 0x64]
mov eax, dword [esi + 0x60]
cmp ecx, dword [esi + 0x6c]
jb 0x4263df
ja 0x4263c9
cmp eax, dword [esi + 0x68]
jb 0x4263df
mov dword [esi + 0x68], eax
mov dword [esi + 0x6c], ecx
mov ecx, esi
call fcn.00425fd3
jmp 0x4263df
mov byte [esi + 0xc4], 1
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x10
push eax
lea eax, [ebp - 0x14]
push eax
push 0
push 0x10000
push ebx
push dword [esi + 0x28]
call dword [sym.imp.WS2_32.dll_recvfrom]
cmp dword [esi + 0xc0], 2
je 0x426410
push 0xfffffffffffffffe
pop eax
jmp 0x426675
lea ecx, [ebp - 0x1c]
mov edx, ebx
push ecx
lea ecx, [ebp - 0x28]
push ecx
lea ecx, [ebp - 0x18]
push ecx
push eax
call fcn.004255ac
mov ebx, eax
test ebx, ebx
jg 0x426536
mov eax, dword [esi + 0x60]
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0x64]
mov dword [esi + 0x6c], eax
cmp ebx, 0xfffffffe
jne 0x426469
mov eax, dword [esi + 0x94]
mov ecx, dword [esi + 0x90]
inc dword [esi + 0xb4]
cdq
sub eax, edx
sar eax, 1
cmp ecx, eax
cmovg eax, ecx
mov dword [esi + 0x94], eax
xor eax, eax
inc eax
jmp 0x426675
cmp ebx, 0xffffffff
jne 0x426509
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x274c
je 0x4264ab
cmp eax, 0x2736
jne 0x426495
push dword [esi + 0x74]
mov ecx, esi
push dword [esi + 0x70]
call fcn.00426160
jmp 0x4264a3
mov edx, dword [esi + 0xa0]
mov ecx, dword [esi + 0x28]
call fcn.004287e9
or eax, 0xffffffff
jmp 0x426675
mov eax, dword [esi + 0xa0]
mov ecx, dword [esi + 0x98]
add eax, 0x32
cmp eax, ecx
mov edi, ecx
cmovl edi, eax
cmp edi, ecx
jne 0x4264e1
mov eax, dword [esi + 0x94]
mov ecx, dword [esi + 0x90]
cdq
sub eax, edx
sar eax, 1
cmp eax, ecx
cmovg ecx, eax
mov dword [esi + 0x94], ecx
cmp dword [esi + 0xa0], edi
je 0x4264f9
mov ecx, dword [esi + 0x28]
mov edx, edi
mov dword [esi + 0xa0], edi
call fcn.004287e9
push 1
push dword [esi + 0xa0]
mov ecx, esi
push 3
pop edx
call dword [esi + 4]
mov eax, dword [esi + 0x94]
mov ecx, dword [esi + 0x90]
add eax, 0xffffffc0
cmp eax, ecx
push 0xc8
push dword [esi + 0x1c]
cmovg ecx, eax
mov dword [esi + 0x94], ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
jmp 0x426461
inc dword [esi + 0xb8]
mov eax, dword [ebp - 0x18]
cmp eax, dword [esi + 0x58]
jne 0x426461
mov ecx, dword [ebp - 0x28]
cmp ecx, 0xff
jne 0x426565
push dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
mov ecx, esi
call fcn.00426209
jmp 0x426675
xor eax, eax
or eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
mov eax, ebx
cdq
mov edi, eax
mov eax, edx
add edi, dword [ebp - 0x18]
mov edx, dword [esi + 0x64]
adc eax, ecx
mov dword [ebp - 0x1c], eax
mov eax, dword [esi + 0x60]
cmp dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x1c]
jne 0x426663
cmp ecx, edx
jne 0x426663
mov edx, dword [esi + 0x70]
cmp eax, dword [esi + 0x74]
ja 0x4265ca
jb 0x4265a4
cmp edi, edx
jae 0x4265bf
cmp eax, dword [esi + 0x6c]
jb 0x4265f2
ja 0x4265b0
cmp edi, dword [esi + 0x68]
jb 0x4265f2
mov ecx, esi
mov dword [esi + 0x68], edi
mov dword [esi + 0x6c], eax
call fcn.00425fd3
jmp 0x4265f2
cmp eax, dword [esi + 0x74]
jb 0x4265f2
ja 0x4265ca
cmp edi, edx
jbe 0x4265f2
mov eax, dword [esi + 0x74]
cmp ecx, eax
jb 0x4265e8
ja 0x4265d8
cmp dword [ebp - 0x18], edx
jb 0x4265e8
push 0
push 0
mov ecx, esi
call fcn.00426160
jmp 0x426461
mov edi, edx
mov dword [ebp - 0x1c], eax
mov ebx, edi
sub ebx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov ecx, esi
push 2
push ebx
call dword [esi]
test eax, eax
jne 0x426408
mov eax, dword [ebp - 0x1c]
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
cmp edi, dword [esi + 0x70]
jne 0x426617
cmp eax, dword [esi + 0x74]
je 0x4265d8
mov eax, dword [esi + 0xa0]
mov edx, dword [esi + 0x9c]
cmp eax, edx
jl 0x426673
mov edi, dword [esi + 0x94]
mov ecx, dword [esi + 0x8c]
cmp edi, ecx
jge 0x426673
cmp eax, edx
jne 0x42664b
lea eax, [edi + 0x40]
cmp eax, ecx
cmovl ecx, eax
mov dword [esi + 0x94], ecx
jmp 0x426673
mov ecx, dword [esi + 0x28]
add eax, 0xffffffce
cmp eax, edx
cmovg edx, eax
mov dword [esi + 0xa0], edx
call fcn.004287e9
jmp 0x426673
mov eax, dword [esi + 0x60]
mov dword [esi + 0x68], eax
mov dword [esi + 0x6c], edx
mov byte [esi + 0xc4], 0
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0042a623
mov esp, ebp
pop ebp
ret