Function at 0x4a430f
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x24
push ebx
push esi
push edi
mov edi, ecx
mov dword [esp + 0x14], edx
mov ecx, dword [ebp + 8]
xor ebx, ebx
push 2
mov dword [esp + 0x2c], edi
mov dword [esp + 0x14], ebx
lea eax, [ecx + 2]
mov dword [esp + 0x10], eax
pop eax
cmp dword [ebp + 0xc], eax
jge 0x4a4344
mov eax, ecx
jmp 0x4a46a6
movzx eax, word [edx + ecx]
push eax
call dword [sym.imp.WS2_32.dll_ntohs]
movzx edx, ax
movzx eax, dx
shr eax, 0xf
mov dword [esp + 0x1c], eax
mov eax, edx
movzx ecx, dl
shr eax, 8
mov esi, ecx
and esi, 0x7f
mov dword [esp + 0x24], edx
and eax, 0xffffff0f
mov dword [esp + 0x20], ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x18], esi
cmp esi, 0x7e
jne 0x4a43bc
cmp dword [ebp + 0xc], 4
mov eax, dword [ebp + 8]
jl 0x4a46a6
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + eax + 2]
push eax
call dword [sym.imp.WS2_32.dll_ntohs]
movzx esi, ax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x18], esi
add eax, 2
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov dword [esp + 0xc], eax
jmp 0x4a440f
cmp esi, 0x7f
jne 0x4a440b
cmp dword [ebp + 0xc], 0xa
mov eax, dword [ebp + 8]
jl 0x4a46a6
mov ecx, dword [esp + 0x14]
push dword [ecx + eax + 6]
push dword [ecx + eax + 2]
call fcn.00486fb8
mov esi, eax
mov dword [esp + 0x20], esi
pop ecx
pop ecx
cmp edx, ebx
ja 0x4a43fc
cmp esi, 0x7fffffff
ja 0x4a43fc
mov eax, dword [esp + 0xc]
add eax, 8
jmp 0x4a43ae
push edi
call fcn.004a568b
mov eax, dword [ebp + 0xc]
pop ecx
jmp 0x4a46a6
mov eax, dword [esp + 0xc]
shr ecx, 5
and ecx, 4
add ecx, esi
add ecx, eax
cmp dword [ebp + 0xc], ecx
jge 0x4a4426
mov eax, dword [ebp + 8]
jmp 0x4a46a6
mov ecx, dword [esp + 0x14]
test dl, 0x80
lea edx, [eax + ecx]
cmove edx, ebx
mov dword [esp + 0x24], edx
test edx, edx
je 0x4a4479
add eax, 4
mov edx, ebx
mov dword [esp + 0xc], eax
test esi, esi
jle 0x4a4479
add eax, ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x20], eax
mov edi, eax
mov eax, edx
and eax, reloc.WS2_32.dll_closesocket
jns 0x4a4462
dec eax
or eax, 0xfffffffc
inc eax
mov al, byte [eax + ecx]
xor byte [edi + edx], al
inc edx
cmp edx, esi
jl 0x4a4454
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov edx, dword [edi + 0x34]
test edx, edx
je 0x4a46a4
mov eax, dword [esp + 0x2c]
cmp al, 8
jae 0x4a4601
cmp dword [edi + 0xd4], ebx
jne 0x4a44ab
movzx eax, al
mov dword [edi + 0xc4], eax
mov eax, dword [esp + 0x1c]
add eax, 0xa
push eax
jmp 0x4a44d1
test al, al
je 0x4a44b8
movzx eax, al
mov dword [edi + 0xc4], eax
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4a44f4
cmp dword [edi + 0xcc], ebx
jne 0x4a44f4
cmp byte [edi + 0xd8], bl
jne 0x4a44f4
push ebx
push esi
lea eax, [esp + 0x18]
mov dword [esp + 0x18], ebx
push eax
mov eax, dword [esp + 0x18]
add eax, ecx
push eax
push dword [edi + 0xe0]
push ebx
push edi
call edx
add esp, 0x1c
jmp 0x4a46a0
mov eax, dword [edi + 0xcc]
add eax, esi
mov esi, dword [edi + 0xd0]
cmp eax, esi
jl 0x4a454a
mov ecx, dword [edi + 0xd4]
cmp esi, ecx
jne 0x4a45c5
mov eax, dword [edi + 0xcc]
push 0xa
push eax
lea eax, [esp + 0x18]
mov byte [edi + 0xd8], 1
push eax
push dword [edi + 0xc8]
mov dword [esp + 0x20], ebx
push dword [edi + 0xe0]
push ebx
push edi
call edx
add esp, 0x1c
mov dword [edi + 0xcc], ebx
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xc]
mov esi, dword [edi + 0xcc]
add eax, ecx
push dword [esp + 0x18]
mov edx, dword [edi + 0xd0]
mov ecx, dword [edi + 0xc8]
sub edx, esi
push eax
add ecx, esi
call section..text
mov esi, dword [esp + 0x20]
add dword [edi + 0xcc], esi
pop ecx
pop ecx
cmp dword [esp + 0x1c], ebx
je 0x4a46a0
push 0xb
pop eax
xor ecx, ecx
cmp byte [edi + 0xd8], cl
cmove eax, ecx
push eax
push dword [edi + 0xcc]
lea eax, [esp + 0x18]
push eax
push dword [edi + 0xc8]
push dword [edi + 0xe0]
push ebx
push edi
call dword [edi + 0x34]
add esp, 0x1c
mov byte [edi + 0xd8], bl
mov dword [edi + 0xcc], ebx
jmp 0x4a46a0
push 0x29d
lea eax, [esi + esi]
cmp eax, ecx
push 0x7613bc
cmovg eax, ecx
push 1
push eax
push dword [edi + 0xc8]
mov dword [edi + 0xd0], eax
call fcn.005f5e10
add esp, 0x14
mov dword [edi + 0xc8], eax
test eax, eax
jne 0x4a4546
jmp 0x4a46ad
movzx eax, al
sub eax, 8
je 0x4a4627
sub eax, 1
jne 0x4a46a0
push 1
push 1
push 0xa
push ebx
xor edx, edx
mov ecx, edi
call fcn.004a4fa6
add esp, 0x10
jmp 0x4a46a0
lea ecx, [edi + 0xb4]
call fcn.0044de31
cmp byte [edi + 0xd9], bl
jne 0x4a4646
xor eax, eax
mov byte [edi + 0xd9], 1
inc eax
jmp 0x4a4648
mov eax, ebx
mov dword [edi + 0xb4], ebx
test eax, eax
je 0x4a4677
mov edx, dword [esp + 0xc]
xor eax, eax
push 1
push 2
pop ecx
push ecx
test esi, esi
push 8
cmovg eax, ecx
mov ecx, dword [esp + 0x20]
push eax
lea edx, [edx + ecx]
mov ecx, edi
call fcn.004a4fa6
add esp, 0x10
mov eax, dword [edi + 0x10]
test eax, eax
je 0x4a4681
mov ebx, dword [eax + 8]
push edi
push str.ILibWebServer:_____Close_OP_Code__on__p
push 2
pop eax
push eax
push 0x80
push ebx
call fcn.004920d4
add esp, 0x14
push edi
call fcn.004a568b
pop ecx
mov eax, dword [esp + 0xc]
add eax, esi
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, 0x29d
push esi
push edi
mov edx, 0x7613dc
xor ecx, ecx
call fcn.0048f95e
add esp, 0xc
push edi
push 0x7613fc
push 0x76141c
call fcn.00401109
add esp, 0xc
push esi
call fcn.005d08b0
int3