Function at 0x48d104
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2c
and dword [esp + 0x10], 0
push ebx
push esi
mov esi, edx
mov dword [esp + 0x14], ecx
push edi
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x20], esi
lea eax, [esi + 2]
mov dword [esp + 0x10], eax
test edi, edi
je 0x48d476
mov ecx, dword [edi + 0x3c4]
call fcn.004844d4
mov ebx, eax
mov dword [esp + 0x30], ebx
test ebx, ebx
je 0x48d46f
cmp dword [ebx + 0x54], 0
je 0x48d46f
cmp dword [ebp + 8], 2
jge 0x48d161
mov eax, esi
jmp 0x48d479
mov eax, dword [ebx]
mov ecx, dword [esp + 0x18]
mov esi, dword [eax]
mov eax, dword [esp + 0x20]
movzx eax, word [ecx + eax]
push eax
call dword [sym.imp.WS2_32.dll_ntohs]
movzx ecx, ax
movzx eax, cx
shr eax, 0xf
mov dword [esp + 0x24], eax
mov eax, ecx
movzx edx, cl
mov dword [esp + 0x2c], ecx
mov ecx, edx
shr eax, 8
and ecx, 0x7f
and eax, 0xffffff0f
mov dword [esp + 0x28], edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x14], ecx
cmp ecx, 0x7e
jne 0x48d1e2
cmp dword [ebp + 8], 4
mov eax, dword [esp + 0x20]
jl 0x48d479
mov ecx, dword [esp + 0x18]
movzx eax, word [ecx + eax + 2]
push eax
call dword [sym.imp.WS2_32.dll_ntohs]
movzx ecx, ax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x14], ecx
add eax, 2
mov edx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
jmp 0x48d22f
cmp ecx, 0x7f
jne 0x48d22b
cmp dword [ebp + 8], 0xa
mov eax, dword [esp + 0x20]
jl 0x48d479
mov ecx, dword [esp + 0x18]
push dword [ecx + eax + 6]
push dword [ecx + eax + 2]
call fcn.00480bba
pop ecx
pop ecx
mov ecx, eax
mov dword [esp + 0x14], ecx
test edx, edx
jne 0x48d46f
cmp ecx, 0x7fffffff
ja 0x48d46f
mov eax, dword [esp + 0x10]
add eax, 8
jmp 0x48d1d8
mov eax, dword [esp + 0x10]
shr edx, 5
and edx, 4
add edx, ecx
add edx, eax
cmp dword [ebp + 8], edx
jge 0x48d247
mov eax, dword [esp + 0x20]
jmp 0x48d479
mov edx, dword [esp + 0x18]
test byte [esp + 0x2c], 0x80
mov dword [esp + 0x2c], 0
lea edi, [eax + edx]
cmove edi, dword [esp + 0x2c]
mov dword [esp + 0x28], edi
test edi, edi
mov edi, dword [ebp + 0xc]
je 0x48d2b7
and dword [esp + 0x2c], 0
add eax, 4
mov dword [esp + 0x10], eax
test ecx, ecx
jle 0x48d2b7
mov edi, dword [esp + 0x14]
add eax, edx
mov ecx, dword [esp + 0x2c]
mov ebx, eax
mov edx, dword [esp + 0x28]
mov dword [esp + 0x20], eax
mov eax, ecx
and eax, reloc.WS2_32.dll_closesocket
jns 0x48d29d
dec eax
or eax, 0xfffffffc
inc eax
mov al, byte [eax + edx]
xor byte [ebx + ecx], al
inc ecx
cmp ecx, edi
jl 0x48d28f
mov edi, dword [ebp + 0xc]
mov ebx, dword [esp + 0x30]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x34]
cmp al, 8
jae 0x48d413
cmp dword [esi + 0x18], 0
jne 0x48d2dd
movzx eax, al
mov dword [esi + 8], eax
mov eax, dword [esp + 0x24]
and dword [esp + 0x1c], 0
add eax, 0xa
jmp 0x48d2ff
test al, al
je 0x48d2e7
movzx eax, al
mov dword [esi + 8], eax
mov eax, dword [esp + 0x24]
test eax, eax
je 0x48d32a
xor eax, eax
cmp dword [esi + 0x10], eax
jne 0x48d32a
cmp byte [esi + 0x1c], al
jne 0x48d32a
mov dword [esp + 0x1c], eax
push dword [ebp + 0x10]
push dword [ebx + 0x38]
push dword [ebx + 0x34]
push eax
push ecx
lea eax, [esp + 0x30]
push eax
mov eax, dword [esp + 0x28]
add eax, edx
push eax
push dword [edi + 0x3a0]
push 0
push edi
call dword [ebx + 0x54]
add esp, 0x28
jmp 0x48d465
mov eax, dword [esi + 0x10]
add eax, ecx
cmp eax, dword [esi + 0x14]
jl 0x48d37a
mov eax, dword [esi + 0x14]
cmp eax, dword [esi + 0x18]
jne 0x48d3e2
push dword [ebp + 0x10]
mov byte [esi + 0x1c], 1
lea eax, [esp + 0x20]
and dword [esp + 0x20], 0
push dword [ebx + 0x38]
push dword [ebx + 0x34]
push 0xa
push dword [esi + 0x10]
push eax
push dword [esi + 0xc]
push dword [edi + 0x3a0]
push 0
push edi
call dword [ebx + 0x54]
add esp, 0x28
and dword [esi + 0x10], 0
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push ecx
mov ecx, dword [esi + 0xc]
add eax, edx
mov edx, dword [esi + 0x14]
sub edx, dword [esi + 0x10]
add ecx, dword [esi + 0x10]
push eax
call section..text
mov eax, dword [esp + 0x1c]
add dword [esi + 0x10], eax
cmp dword [esp + 0x2c], 0
pop ecx
pop ecx
je 0x48d465
push dword [ebp + 0x10]
xor ecx, ecx
push dword [ebx + 0x38]
cmp byte [esi + 0x1c], cl
push dword [ebx + 0x34]
push 0xb
pop eax
cmove eax, ecx
push eax
push dword [esi + 0x10]
lea eax, [esp + 0x30]
push eax
push dword [esi + 0xc]
push dword [edi + 0x3a0]
push ecx
push edi
call dword [ebx + 0x54]
add esp, 0x28
mov byte [esi + 0x1c], 0
and dword [esi + 0x10], 0
jmp 0x48d465
add eax, eax
cmp eax, dword [esi + 0x18]
push 0x59c
cmovg eax, dword [esi + 0x18]
push 0x723670
push 1
push eax
push dword [esi + 0xc]
mov dword [esi + 0x14], eax
call fcn.005e80c0
add esp, 0x14
mov dword [esi + 0xc], eax
test eax, eax
jne 0x48d372
jmp 0x48d480
movzx eax, al
sub eax, 8
je 0x48d45e
sub eax, 1
je 0x48d436
sub eax, 1
jne 0x48d465
mov eax, dword [esi + 0x28]
test eax, eax
je 0x48d465
push dword [esi + 0x2c]
push edi
call eax
pop ecx
pop ecx
jmp 0x48d465
mov eax, dword [esi + 0x24]
test eax, eax
je 0x48d449
push dword [esi + 0x2c]
push edi
call eax
pop ecx
pop ecx
test eax, eax
jne 0x48d465
push ecx
push ecx
push 0
push 0
push 0xa
pop edx
mov ecx, edi
call fcn.0048cecd
add esp, 0x10
jmp 0x48d465
mov ecx, edi
call fcn.0048ed37
mov eax, dword [esp + 0x10]
add eax, dword [esp + 0x14]
jmp 0x48d479
mov ecx, edi
call fcn.0048ed37
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov esi, 0xfe
mov edi, 0x59c
push esi
push edi
mov edx, 0x723690
xor ecx, ecx
call fcn.00488a50
add esp, 0xc
push edi
push 0x7236b0
push 0x7236d0
call fcn.00401109
add esp, 0xc
push esi
call fcn.005c3000
int3