Function at 0x491763
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x3c
mov eax, dword [0x6ccd44]
xor eax, esp
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x10]
push ebx
mov dword [esp + 0x10], eax
mov ebx, ecx
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 8]
push esi
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x1c]
push edi
mov edi, edx
mov dword [esp + 0x28], eax
xor eax, eax
mov dword [esp + 0x24], ebx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x10], eax
test edi, edi
je 0x4919df
test ecx, ecx
je 0x4919df
push 0xb12
push 0x724580
push 1
push 0x120
call fcn.005e7f10
mov esi, eax
add esp, 0x10
mov dword [esp + 0xc], esi
test esi, esi
je 0x491b04
push 0x120
push 0
push esi
call fcn.005b5fd0
add esp, 0xc
lea eax, [esi + 0x4b]
push 8
push eax
call fcn.004baa80
mov eax, dword [ebx + 0x20c]
mov dword [esi + 0x88], eax
movsx edx, byte [edi + 6]
mov ebx, dword [esp + 0x24]
push 0xb1a
push 0x7245f8
movsx ecx, byte [edx + edi + 7]
push 1
lea eax, [ecx + edx]
movsx eax, byte [eax + edi + 8]
add eax, ecx
add eax, edx
movsx eax, byte [eax + edi + 9]
mov dword [esp + 0x44], eax
inc eax
add eax, ebx
push eax
mov dword [esp + 0x44], eax
call fcn.005e7f10
add esp, 0x18
mov dword [esi + 0x14], eax
test eax, eax
jne 0x491880
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov esi, 0xfe
mov edi, 0xb1a
push esi
push edi
mov edx, 0x724614
xor ecx, ecx
call fcn.00488a50
add esp, 0xc
push edi
push 0x724630
push 0x72464c
jmp 0x491b31
mov edx, dword [esp + 0x2c]
mov ecx, eax
push ebx
push edi
call section..text
mov eax, dword [esp + 0x38]
inc eax
push eax
mov eax, dword [esi + 0x14]
add eax, ebx
push 0
push eax
call fcn.005b5fd0
mov eax, dword [esi + 0x14]
add esp, 0x14
movzx eax, word [eax]
push eax
call dword [sym.imp.WS2_32.dll_ntohs]
mov word [esi + 0x18], ax
mov eax, dword [esi + 0x14]
push dword [eax + 2]
call dword [sym.imp.WS2_32.dll_ntohl]
mov edi, dword [esi + 0x14]
mov ebx, eax
mov dword [esi + 0x1c], ebx
shr ebx, 1
movsx ecx, byte [edi + 6]
mov dword [esi + 8], ecx
lea ecx, [edi + 7]
mov dword [esi], ecx
mov esi, dword [esi + 8]
mov ecx, dword [esp + 0xc]
movsx eax, byte [esi + edi + 7]
mov dword [ecx + 0xc], eax
lea eax, [edi + 8]
mov edx, dword [ecx + 0xc]
add eax, esi
mov dword [ecx + 4], eax
lea ecx, [edx + esi]
movsx eax, byte [ecx + edi + 8]
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x58], eax
lea eax, [edx + 9]
add eax, esi
add edx, esi
mov esi, ecx
add eax, edi
mov dword [ecx + 0x54], eax
add edx, edi
mov ecx, dword [esi + 0x58]
movsx eax, byte [edx + ecx + 9]
and dword [esi + 0x68], 0
or dword [esi + 0x74], 0xffffffff
mov dword [esi + 0x64], eax
lea eax, [ecx + 0xa]
add eax, edx
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x1c]
add eax, edi
mov edi, dword [esp + 0x24]
mov dword [esi + 0x60], eax
mov eax, ebx
not eax
mov dword [esi + 0x78], edi
and eax, 1
and ebx, 1
mov dword [esi + 0x6c], eax
mov dword [esi + 0x70], ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount64]
mov ecx, dword [esp + 0x14]
mov dword [esi + 0x80], eax
mov dword [esi + 0x84], edx
test ecx, ecx
je 0x4919a7
cmp dword [esp + 0x20], 0
je 0x4919a7
mov eax, dword [ebp + 0x18]
mov ebx, dword [esp + 0x18]
add eax, ebx
cmp eax, 0x28
jne 0x4919a7
push ebx
push ecx
push 0x2a
lea ecx, [esi + 0x21]
mov byte [esi + 0x20], bl
pop edx
call section..text
mov eax, dword [ebp + 0x18]
lea ecx, [esi + 0x22]
push eax
push dword [esp + 0x2c]
add ecx, ebx
mov byte [ebx + esi + 0x21], al
push 0x29
pop edx
sub edx, ebx
call section..text
add esp, 0x10
lea eax, [esp + 0x10]
mov edx, esi
push 1
push eax
mov ecx, edi
call fcn.0048f5fb
pop ecx
pop ecx
mov ecx, eax
mov dword [esp + 0x14], ecx
test ecx, ecx
jns 0x4919f3
push 1
push dword [esi + 0x14]
call fcn.005e7dd0
push 1
push esi
call fcn.005e7dd0
mov edx, dword [esp + 0x38]
add esp, 0x10
and dword [edx], 0
xor eax, eax
mov ecx, dword [esp + 0x44]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.005b35b0
mov esp, ebp
pop ebp
ret
mov ebx, dword [esp + 0x10]
test ebx, ebx
je 0x491ad5
xor ecx, ecx
cmp dword [ebx + 0x64], ecx
jne 0x491a83
cmp dword [ebx + 0x5c], ecx
jne 0x491a83
mov edx, ecx
mov eax, dword [ebx + 0x14]
add eax, edx
mov dword [esp + 0x18], eax
cmp word [eax], cx
je 0x491a74
cmp dword [esi + 0x64], 0
mov dword [esp + 0xc], ecx
jle 0x491a72
mov ecx, dword [esi + 0x5c]
mov dword [esp + 0x10], ecx
xor eax, eax
lea edi, [esp + 0x34]
stosd dword es:[edi], eax
push 2
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov edi, dword [esp + 0x1c]
pop eax
mov word [esp + 0x34], ax
mov ax, word [ecx + 4]
mov word [esp + 0x36], ax
mov eax, dword [ecx]
mov dword [esp + 0x38], eax
xor eax, eax
mov ecx, eax
lea eax, [esp + 0x34]
mov eax, dword [eax + ecx*4]
cmp eax, dword [edi + ecx*4]
jne 0x491ab6
inc ecx
cmp ecx, 4
jne 0x491a55
mov eax, dword [esi + 0x60]
mov ecx, dword [esp + 0xc]
mov byte [ecx + eax], 1
xor ecx, ecx
add edx, 0x1c
cmp edx, 0xe0
jl 0x491a0d
mov edi, dword [esp + 0x24]
push 0x2b
pop edx
push edx
lea eax, [ebx + 0x20]
push eax
lea ecx, [esi + 0x20]
call section..text
mov eax, dword [ebx + 0x8c]
mov dword [esi + 0x8c], eax
push 1
push dword [ebx + 0x14]
call fcn.005e7dd0
push 1
push ebx
call fcn.005e7dd0
add esp, 0x18
jmp 0x491ae5
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
inc eax
add ecx, 6
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
cmp eax, dword [esi + 0x64]
jl 0x491a2c
jmp 0x491a72
lea eax, [esi + 0x20]
push eax
lea edx, [edi + 0x110]
call fcn.0048f8c7
pop ecx
mov edx, dword [esp + 0x28]
mov ecx, esi
call fcn.0048fab6
mov edx, dword [esp + 0x14]
mov ecx, edi
mov esi, eax
call fcn.00491672
mov eax, esi
jmp 0x4919e1
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov esi, 0xfe
mov edi, 0xb12
push esi
push edi
mov edx, 0x72459c
xor ecx, ecx
call fcn.00488a50
add esp, 0xc
push edi
push 0x7245b8
push 0x7245d4
call fcn.00401109
add esp, 0xc
push esi
call fcn.005c3000
int3