Function at 0x4d88ae
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffb4
mov eax, 0x695714
push ebx
push esi
push edi
mov esi, dword [ebp + 8]
call fcn.00685242
mov word [ebp - 0x18], 8
mov eax, dword [esi + 0xa8]
cmp eax, 2
je 0x4d88f0
cmp eax, 3
je 0x4d88f0
cmp eax, 4
je 0x4d88f0
mov edx, dword [ebp - 0x28]
mov dword fs:[0], edx
mov eax, edx
jmp 0x4d8dc0
mov dword [esi + 0x1a78], 0x1f41
mov word [ebp - 0x18], 8
xor ecx, ecx
mov dword [ebp - 0x34], ecx
mov ebx, 8
mov dword [esi + 0x1a78], 0x1f42
push esi
call fcn.004dda1e
pop ecx
mov ecx, eax
mov dword [esi + 0x1a78], 0x1f43
test cx, cx
jbe 0x4d8946
movzx eax, cx
push eax
mov eax, 0xf
pop edx
mov ecx, edx
cdq
idiv ecx
mov ebx, eax
test ebx, ebx
jne 0x4d8946
mov ebx, 1
mov dword [esi + 0x1a78], 0x1f44
xor eax, eax
mov dword [ebp - 0x38], eax
movzx edx, word [esi + 0x110]
add edx, 0x10
imul edx, ebx
mov dword [ebp - 0x3c], edx
xor edi, edi
mov dword [esi + 0x1a78], 0x1f45
xor eax, eax
mov dword [ebp - 0x44], eax
jmp 0x4d8c4c
mov dword [esi + 0x1a78], 0x1f46
call fcn.0070adfc
mov edx, dword [esi + 0x630]
add edx, 0x7d0
cmp eax, edx
jb 0x4d8c5c
call fcn.0070adfc
cmp eax, dword [esi + 0x614]
jb 0x4d8c5c
mov dword [esi + 0x1a78], 0x1f47
movzx eax, word [esi + 0x13c]
movzx edx, word [esi + 0x130]
add eax, dword [ebp - 0x44]
mov ecx, edx
cdq
idiv ecx
mov eax, edx
movzx eax, ax
mov edx, eax
mov word [ebp - 0x18], 8
shl edx, 4
mov ebx, dword [esi + 0x138]
lea edx, [edx + edx*2]
add ebx, edx
cmp byte [ebx], 0
je 0x4d8c49
call fcn.0070adfc
mov dword [ebp - 0x48], eax
mov dword [esi + 0x1a78], 0x1f48
cmp word [ebx + 0xe], 0
je 0x4d8a44
cmp dword [esi + 0xa8], 4
jne 0x4d8c37
cmp word [ebx + 0x10], 0
jne 0x4d8c37
mov ecx, dword [ebx + 0x1c]
cmp ecx, dword [ebp - 0x48]
jae 0x4d8c37
mov ax, word [ebx + 0xc]
cmp ax, 0xa6
je 0x4d8a44
cmp ax, 0xce
jne 0x4d8c37
mov dword [esi + 0x1a78], 0x1f49
mov eax, dword [esi + 0x120]
cmp eax, 0xffffffff
jae 0x4d8a5f
inc eax
mov dword [ebx + 8], eax
jmp 0x4d8a64
xor edx, edx
mov dword [ebx + 8], edx
push esi
call fcn.004ddf52
pop ecx
inc eax
mov dword [ebp - 0x30], eax
mov dword [esi + 0x1a78], 0x1f4a
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x30]
jge 0x4d8b64
xor edx, edx
mov dword [ebp - 0x40], edx
mov dword [esi + 0x1a78], 0x1f4b
cmp word [ebx + 0xe], 0
jbe 0x4d8afc
mov ax, word [ebx + 0xe]
cmp ax, 1
je 0x4d8abe
movzx edx, ax
and edx, reloc.WS2_32.DLL_accept
jns 0x4d8aba
dec edx
or edx, 0xfffffffe
inc edx
test edx, edx
jne 0x4d8afc
mov dword [ebp - 0x40], 1
cmp word [ebx + 0xc], 0xa6
mov edi, dword [ebx + 4]
jne 0x4d8ad8
mov word [ebx + 0xc], 0xcd
jmp 0x4d8ade
mov word [ebx + 0xc], 0xcf
cmp edi, 0xa
jb 0x4d8aed
mov eax, edi
sub eax, 0xa
mov dword [ebx + 4], eax
jmp 0x4d8afc
mov edx, 9
sub edx, edi
or ecx, 0xffffffff
sub ecx, edx
mov dword [ebx + 4], ecx
mov dword [esi + 0x1a78], 0x1f4c
push 0
push ebx
push esi
call fcn.004d8dca
add esp, 0xc
mov dword [ebp - 0x2c], eax
mov dword [esi + 0x1a78], 0x1f4d
cmp dword [ebp - 0x40], 1
jne 0x4d8b3e
cmp word [ebx + 0xc], 0xcd
jne 0x4d8b35
mov word [ebx + 0xc], 0xa6
jmp 0x4d8b3b
mov word [ebx + 0xc], 0xce
mov dword [ebx + 4], edi
mov dword [esi + 0x1a78], 0x1f4e
inc dword [ebp - 0x34]
movzx eax, word [ebx + 0x28]
add eax, 0x10
add dword [ebp - 0x38], eax
inc dword [ebp - 0x4c]
mov edx, dword [ebp - 0x4c]
cmp edx, dword [ebp - 0x30]
jl 0x4d8a8a
mov dword [esi + 0x1a78], 0x1f4f
mov cx, word [ebx + 0xe]
push ecx
mov ax, word [ebx + 0xc]
push eax
push 1
push esi
call fcn.004ddd46
add esp, 0x10
cmp word [ebx + 0xe], 0
je 0x4d8b91
mov eax, 1
jmp 0x4d8b93
xor eax, eax
mov dword [esi + 0x1a78], 0x1f50
cmp dword [ebp - 0x2c], 0
je 0x4d8be8
mov dword [esi + 0x1a78], 0x1f51
test eax, eax
call fcn.0070adfc
mov dword [ebp - 0x48], eax
inc word [ebx + 0xe]
mov edx, dword [ebp - 0x48]
mov dword [ebx + 0x18], edx
push esi
call fcn.004dda1e
pop ecx
mov ecx, dword [ebp - 0x34]
dec ecx
imul ecx
mov edx, dword [esi + 0x3b4]
add edx, dword [ebp - 0x48]
add eax, edx
mov dword [ebx + 0x1c], eax
mov dword [esi + 0x1a78], 0x1f52
jmp 0x4d8c37
mov dword [esi + 0x1a78], 0x1f53
mov dword [esi + 0x1a78], 0x1f54
test eax, eax
call fcn.0070adfc
mov dword [ebp - 0x48], eax
inc word [ebx + 0xe]
mov eax, dword [ebp - 0x48]
mov dword [ebx + 0x18], eax
push esi
call fcn.004dda1e
pop ecx
mov ecx, dword [ebp - 0x34]
dec ecx
imul ecx
mov edx, dword [esi + 0x3b4]
add edx, edx
add edx, dword [ebp - 0x48]
add eax, edx
mov dword [ebx + 0x1c], eax
mov dword [esi + 0x1a78], 0x1f55
mov dword [esi + 0x1a78], 0x1f56
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x3c]
jae 0x4d8c5c
inc dword [ebp - 0x44]
movzx ecx, word [esi + 0x130]
cmp ecx, dword [ebp - 0x44]
jg 0x4d897b
cmp dword [ebp - 0x34], 0
jle 0x4d8ca7
mov dword [esi + 0x1a78], 0x1f57
push esi
call fcn.004dda1e
pop ecx
imul dword [ebp - 0x34]
mov dword [esi + 0x618], eax
call fcn.0070adfc
add eax, dword [esi + 0x618]
mov dword [esi + 0x614], eax
xor eax, eax
mov dword [esi + 0x1a78], 0x1f58
mov dword [esi + 0x604], eax
xor edx, edx
mov dword [esi + 0x638], edx
mov dword [esi + 0x1a78], 0x1f59
cmp dword [esi + 0x604], 0
je 0x4d8d66
mov dword [esi + 0x1a78], 0x1f5a
xor ebx, ebx
mov word [ebp - 0x18], 8
cmp dword [esi + 0x634], 0
je 0x4d8d1e
cmp dword [esi + 0x638], 0
je 0x4d8d11
call fcn.0070adfc
mov ecx, eax
mov eax, dword [esi + 0x3b4]
mov edi, 3
xor edx, edx
div edi
add eax, dword [esi + 0x638]
cmp ecx, eax
jbe 0x4d8d23
mov ebx, 1
xor eax, eax
mov dword [esi + 0x638], eax
jmp 0x4d8d23
call fcn.0070adfc
mov dword [esi + 0x638], eax
jmp 0x4d8d23
mov ebx, 1
mov dword [esi + 0x1a78], 0x1f5b
test ebx, ebx
je 0x4d8d5c
mov dword [esi + 0x1a78], 0x1f5c
push esi
call fcn.004d8f4e
pop ecx
xor eax, eax
mov dword [esi + 0x1a78], 0x1f5d
mov dword [esi + 0x604], eax
xor edx, edx
mov dword [esi + 0x638], edx
mov dword [esi + 0x1a78], 0x1f5e
mov dword [esi + 0x1a78], 0x1f5f
mov word [ebp - 0x18], 0
jmp 0x4d8db6
mov ecx, dword [ebp - 0x28]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret