Function at 0x4959aa
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x3c
mov eax, dword [0x6d1d44]
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 0x495c26
test ecx, ecx
je 0x495c26
push 0xb12
push 0x742d24
push 1
push 0x120
call fcn.005ed7c0
mov esi, eax
add esp, 0x10
mov dword [esp + 0xc], esi
test esi, esi
je 0x495d4b
push 0x120
push 0
push esi
call fcn.005bb370
add esp, 0xc
lea eax, [esi + 0x4b]
push 8
push eax
call fcn.004bf9b0
mov eax, dword [ebx + 0x20c]
mov dword [esi + 0x88], eax
movsx edx, byte [edi + 6]
mov ebx, dword [esp + 0x24]
push 0xb1a
push 0x742d9c
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.005ed7c0
add esp, 0x18
mov dword [esi + 0x14], eax
test eax, eax
jne 0x495ac7
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov esi, 0xfe
mov edi, 0xb1a
push esi
push edi
mov edx, 0x742db8
xor ecx, ecx
call fcn.0048cac3
add esp, 0xc
push edi
push 0x742dd4
push 0x742df0
jmp 0x495d78
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.005bb370
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 0x495bee
cmp dword [esp + 0x20], 0
je 0x495bee
mov eax, dword [ebp + 0x18]
mov ebx, dword [esp + 0x18]
add eax, ebx
cmp eax, 0x28
jne 0x495bee
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.00493830
pop ecx
pop ecx
mov ecx, eax
mov dword [esp + 0x14], ecx
test ecx, ecx
jns 0x495c3a
push 1
push dword [esi + 0x14]
call fcn.005ed680
push 1
push esi
call fcn.005ed680
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.005b8900
mov esp, ebp
pop ebp
ret
mov ebx, dword [esp + 0x10]
test ebx, ebx
je 0x495d1c
xor ecx, ecx
cmp dword [ebx + 0x64], ecx
jne 0x495cca
cmp dword [ebx + 0x5c], ecx
jne 0x495cca
mov edx, ecx
mov eax, dword [ebx + 0x14]
add eax, edx
mov dword [esp + 0x18], eax
cmp word [eax], cx
je 0x495cbb
cmp dword [esi + 0x64], 0
mov dword [esp + 0xc], ecx
jle 0x495cb9
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 0x495cfd
inc ecx
cmp ecx, 4
jne 0x495c9c
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 0x495c54
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.005ed680
push 1
push ebx
call fcn.005ed680
add esp, 0x18
jmp 0x495d2c
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 0x495c73
jmp 0x495cb9
lea eax, [esi + 0x20]
push eax
lea edx, [edi + 0x110]
call fcn.00493ae8
pop ecx
mov edx, dword [esp + 0x28]
mov ecx, esi
call fcn.00493cd7
mov edx, dword [esp + 0x14]
mov ecx, edi
mov esi, eax
call fcn.004958b4
mov eax, esi
jmp 0x495c28
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov esi, 0xfe
mov edi, 0xb12
push esi
push edi
mov edx, 0x742d40
xor ecx, ecx
call fcn.0048cac3
add esp, 0xc
push edi
push 0x742d5c
push 0x742d78
call fcn.00401109
add esp, 0xc
push esi
call fcn.005c8390
int3