Function at 0x4c49f0
Capabilities:
Terminate process

Disassembly:
sub esp, 0x234
mov eax, dword [0x6019e4]
xor eax, esp
mov dword [esp + 0x22c], eax
push ebx
push ebp
mov ebp, dword [esp + 0x240]
mov ebx, ecx
push esi
push edi
mov edi, edx
movzx eax, word [edi + ebp]
push eax
call dword [sym.imp.WS2_32.dll_ntohs]
movzx eax, ax
lea esi, [ebp + 8]
mov ecx, eax
mov dword [esp + 0x10], eax
add esi, edi
and ecx, 0x110
mov dword [esp + 0x1c], esi
cmp ecx, 0x10
je 0x4c4a5d
cmp ecx, 0x110
je 0x4c4a5d
push ecx
push ebp
mov edx, edi
mov ecx, ebx
call fcn.004c4830
add esp, 8
test eax, eax
je case.0x4c4ba7.261
mov eax, dword [esp + 0x10]
cmp eax, 0x103
ja 0x4c4b92
je 0x4c4b0e
cmp eax, 0x17
jne case.0x4c4ba7.261
lea eax, [esp + 0x10]
mov edx, ebp
push eax
push ecx
push 0x12
push ecx
mov ecx, edi
call fcn.004c4600
add esp, 0x10
mov esi, eax
lea eax, [esp + 0x18]
mov edx, ebp
push eax
push ecx
push 0x13
push ecx
mov ecx, edi
call fcn.004c4600
add esp, 0x10
mov dword [esp + 0x14], eax
test esi, esi
jle case.0x4c4ba7.261
test eax, eax
jle case.0x4c4ba7.261
cmp dword [ebx + 0x20], 0
je case.0x4c4ba7.261
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x88]
lea esi, [ebp + 8]
mov dword [esp + 0xa4], 4
push eax
add esi, edi
mov dword [esp + 0xac], 0x10000
push esi
call fcn.004c5560
push dword [esp + 0x1c]
lea eax, [esp + 0x94]
push 0
push dword [esp + 0x28]
push eax
mov eax, dword [ebx + 0x20]
push ebx
call eax
add esp, 0x1c
jmp case.0x4c4ba7.261
lea eax, [esp + 0x18]
mov edx, ebp
push eax
push ecx
push 0xd
push ecx
mov ecx, edi
call fcn.004c4600
add esp, 0x10
mov dword [esp + 0x14], eax
lea eax, [esp + 0x10]
mov edx, ebp
push eax
push ecx
push 0x16
push ecx
mov ecx, edi
call fcn.004c4600
mov edi, eax
add esp, 0x10
test edi, edi
jle 0x4c4b57
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x88]
push eax
push esi
call fcn.004c5560
add esp, 8
cmp dword [esp + 0x14], 0
jle case.0x4c4ba7.261
test edi, edi
jle case.0x4c4ba7.261
mov eax, dword [esp + 0x18]
push dword [eax]
call dword [sym.imp.WS2_32.dll_ntohl]
mov ecx, dword [ebx + 0x1c]
test ecx, ecx
je case.0x4c4ba7.261
lea edx, [esp + 0x88]
push edx
push eax
push ebx
call ecx
jmp 0x4c5150
add eax, 0xfffffefc
cmp eax, 0x15
ja case.0x4c4ba7.261
movzx eax, byte [eax + 0x4c5210]
jmp dword [eax*4 + 0x4c51f0]
mov ecx, dword [ebx + 0x40]
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x14]
mov edx, esi
push eax
push 0xc
call fcn.004b0910
add esp, 0xc
lea eax, [esp + 0x14]
mov edx, ebp
push eax
push ecx
push 0xd
push ecx
mov ecx, edi
call fcn.004c4600
mov esi, dword [esp + 0x20]
add esp, 0x10
test esi, esi
je case.0x4c4ba7.261
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x4c4c06
push eax
mov eax, dword [esp + 0x18]
push dword [eax]
call dword [sym.imp.WS2_32.dll_ntohl]
push eax
push ebx
call esi
jmp 0x4c5150
cmp eax, 2
jne case.0x4c4ba7.261
cmp dword [esi], 0
je 0x4c4c2c
mov eax, dword [esp + 0x14]
push dword [esi + 4]
push dword [eax]
call dword [sym.imp.WS2_32.dll_ntohl]
push eax
mov eax, dword [esi]
push ebx
call eax
add esp, 0xc
push esi
call fcn.0058c812
add esp, 4
jmp case.0x4c4ba7.261
lea eax, [esp + 0x1c]
mov edx, ebp
push eax
push ecx
push 9
push ecx
mov ecx, edi
call fcn.004c4600
add esp, 0x10
mov dword [esp + 0x14], eax
cmp eax, 4
jge 0x4c4c62
mov dword [esp + 0x10], 0
jmp 0x4c4c8b
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x10], 0x64
movsx eax, byte [edx + 2]
and eax, 7
imul ecx, eax, 0x64
movsx eax, byte [edx + 3]
cdq
idiv dword [esp + 0x10]
mov eax, dword [esp + 0x14]
add ecx, edx
mov dword [esp + 0x10], ecx
cmp eax, 4
jg 0x4c4c94
xor eax, eax
jmp 0x4c4c9b
mov eax, dword [esp + 0x1c]
add eax, 4
mov ecx, dword [ebx + 0x40]
mov edx, esi
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x1c]
push eax
push 0xc
call fcn.004b0910
mov eax, dword [esp + 0x1c]
add esp, 0xc
sub eax, 0x191
je case.0x4c4ba7.261
sub eax, 0x25
je 0x4c4ce8
cmp dword [esp + 0x14], 2
jne case.0x4c4ba7.261
push dword [esp + 0x18]
call fcn.0058c812
add esp, 4
jmp case.0x4c4ba7.261
push 0x15
push ecx
mov edx, ebp
mov ecx, edi
call fcn.004c46e0
add esp, 8
cmp eax, 1
jne 0x4c4d5e
lea eax, [esp + 0x1c]
mov edx, ebp
push eax
push ecx
push 0x15
push ecx
mov ecx, edi
call fcn.004c4600
push dword [ebx + 0x48]
mov esi, eax
call fcn.0058c812
mov ecx, dword [esp + 0x30]
add esp, 0x14
mov edx, esi
mov dword [ebx + 0x4c], esi
call fcn.004b46d0
cmp dword [esp + 0x14], 0
mov esi, dword [esp + 0x18]
mov dword [ebx + 0x48], eax
jne 0x4c4d48
xor ecx, ecx
mov edx, esi
push ecx
mov ecx, ebx
call fcn.004c5970
add esp, 4
jmp 0x4c4d62
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
mov ecx, ebx
call fcn.004c5970
add esp, 4
jmp 0x4c4d62
mov esi, dword [esp + 0x18]
cmp dword [esp + 0x14], 2
jne case.0x4c4ba7.261
push esi
call fcn.0058c812
add esp, 4
jmp case.0x4c4ba7.261
mov ecx, dword [ebx + 0x40]
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x14]
mov edx, esi
push eax
push 0xc
call fcn.004b0910
mov edi, dword [esp + 0x1c]
add esp, 0xc
test edi, edi
je 0x4c4ec0
mov eax, dword [edi]
test eax, eax
je 0x4c4eb7
push dword [edi + 4]
push 0
push dword [esp + 0x1c]
push ebx
call eax
add esp, 0x10
jmp 0x4c4eb7
mov ecx, dword [ebx + 0x40]
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x14]
mov edx, esi
push eax
push 0xc
call fcn.004b0910
mov edi, dword [esp + 0x1c]
add esp, 0xc
test edi, edi
je case.0x4c4ba7.261
mov eax, dword [edi]
test eax, eax
je 0x4c4eb7
push dword [edi + 4]
push 1
push dword [esp + 0x1c]
push ebx
call eax
add esp, 0x10
jmp 0x4c4eb7
mov ecx, dword [ebx + 0x40]
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x14]
mov edx, esi
push eax
push 0xc
call fcn.004b0910
add esp, 0xc
cmp dword [esp + 0x14], 0
jne 0x4c4e4b
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4c4ec0
push 0
push 0
push ebx
call eax
mov ecx, dword [ebx + 0x40]
add esp, 0xc
mov edx, esi
push 0xc
call fcn.004b0940
add esp, 4
jmp case.0x4c4ba7.261
mov edi, dword [esp + 0x10]
mov eax, dword [edi]
test eax, eax
je 0x4c4eb7
push dword [edi + 4]
push 0
jmp 0x4c4eb1
mov ecx, dword [ebx + 0x40]
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x14]
mov edx, esi
push eax
push 0xc
call fcn.004b0910
add esp, 0xc
cmp dword [esp + 0x14], 0
jne 0x4c4ea2
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4c4ec0
push 0
push 1
push ebx
call eax
mov ecx, dword [ebx + 0x40]
add esp, 0xc
mov edx, esi
push 0xc
call fcn.004b0940
add esp, 4
jmp case.0x4c4ba7.261
mov edi, dword [esp + 0x10]
mov eax, dword [edi]
test eax, eax
je 0x4c4eb7
push dword [edi + 4]
push 1
push ebx
call eax
add esp, 0xc
push edi
call fcn.0058c812
add esp, 4
mov ecx, dword [ebx + 0x40]
mov edx, esi
push 0xc
call fcn.004b0940
add esp, 4
jmp case.0x4c4ba7.261
push 0x14
push ecx
mov edx, ebp
mov ecx, edi
call fcn.004c46e0
add esp, 8
cmp eax, 1
jne case.0x4c4ba7.261
push 0x15
push ecx
mov edx, ebp
mov ecx, edi
call fcn.004c46e0
add esp, 8
cmp eax, 1
jne case.0x4c4ba7.261
mov ecx, dword [ebx + 0x40]
mov edx, esi
push 0
push 0xc
call fcn.004b0710
add esp, 8
test eax, eax
je 0x4c5142
lea eax, [esp + 0x18]
mov edx, ebp
push eax
push ecx
push 0x15
push ecx
mov ecx, edi
call fcn.004c4600
add esp, 0x10
mov esi, eax
lea eax, [esp + 0x10]
mov dword [esp + 0x24], esi
mov edx, ebp
push eax
push ecx
push 0x14
push ecx
mov ecx, edi
call fcn.004c4600
mov ecx, dword [ebx + 0x48]
add esp, 0x10
mov ebp, eax
test ecx, ecx
je 0x4c4f5f
push ecx
call fcn.0058c812
add esp, 4
lea edi, [esi + 1]
push edi
call fcn.0058db11
add esp, 4
mov dword [ebx + 0x48], eax
test eax, eax
je 0x4c516c
push esi
push dword [esp + 0x1c]
mov edx, edi
mov ecx, eax
call fcn.00401000
mov eax, dword [ebx + 0x48]
add esp, 8
mov byte [esi + eax], 0
mov eax, dword [ebx + 0x50]
mov dword [ebx + 0x4c], esi
test eax, eax
je 0x4c4fa1
push eax
call fcn.0058c812
add esp, 4
lea esi, [ebp + 1]
push esi
call fcn.0058db11
add esp, 4
mov dword [ebx + 0x50], eax
test eax, eax
je 0x4c51ad
mov edi, dword [esp + 0x10]
mov edx, esi
push ebp
push edi
mov ecx, eax
call fcn.00401000
mov eax, dword [ebx + 0x50]
mov byte [eax + ebp], 0
lea eax, [esp + 0x1c0]
push dword [ebx + 0x38]
mov dword [ebx + 0x54], ebp
push dword [ebx + 0x50]
push dword [ebx + 0x30]
push str._s:_s:_s
push 0x80
push eax
call fcn.00401140
mov esi, eax
lea eax, [esp + 0x48]
push eax
call fcn.004d68b0
add esp, 0x24
lea eax, [esp + 0x1b8]
push esi
push eax
lea eax, [esp + 0x30]
push eax
call fcn.004d6910
add esp, 0xc
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x8c]
push eax
call fcn.004d6790
lea eax, [esp + 0xb4]
push 0xc
push eax
call fcn.004e3140
mov edx, dword [esp + 0x2c]
lea eax, [esp + 0x30]
mov ecx, dword [ebx + 0x40]
push eax
lea eax, [esp + 0x28]
push eax
push 0xc
call fcn.004b0910
mov edx, dword [esp + 0x38]
add esp, 0x1c
mov ecx, dword [ebx + 0x40]
push 0xc
call fcn.004b0940
mov al, byte [esp + 0x24]
lea ecx, [esp + 0xbc]
add esp, 4
mov dword [esp + 0x10], 0
mov byte [esp + 0x10], al
mov edx, 3
lea eax, [esp + 0xac]
push eax
call fcn.004c5470
add esp, 4
lea ecx, [esp + 0xb8]
mov esi, eax
lea eax, [esp + 0x10]
mov edx, esi
push 4
push eax
push 0x19
call fcn.004c54e0
add esp, 0xc
lea ecx, [esp + 0xb8]
add esi, eax
mov edx, esi
push dword [esp + 0x24]
push dword [esp + 0x1c]
push 0x15
call fcn.004c54e0
add esp, 0xc
add esi, eax
push ebp
push edi
push 0x14
mov edx, esi
lea ecx, [esp + 0xc4]
call fcn.004c54e0
add esp, 0xc
lea ecx, [esp + 0xb8]
add esi, eax
mov edx, esi
push dword [ebx + 0x34]
push dword [ebx + 0x30]
push 6
call fcn.004c54e0
add esp, 0xc
lea ecx, [esp + 0xb8]
add esi, eax
lea eax, [esp + 0x88]
mov edx, esi
push 0x10
push eax
call fcn.004bc450
add esi, eax
lea ecx, [esp + 0xc0]
mov edx, esi
call fcn.004bc4d0
push 2
add esi, eax
lea eax, [esp + 0xc4]
push esi
push eax
push 1
push 0
push dword [ebx + 0x2c]
call fcn.004aa920
add esp, 0x20
jmp case.0x4c4ba7.261
mov eax, dword [ebx + 0x1c]
test eax, eax
je case.0x4c4ba7.261
push 0
push 0
push ebx
call eax
add esp, 0xc
mov ecx, dword [esp + 0x23c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.005852a8
add esp, 0x234
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0xfe
push 0x1af6
mov edx, 0x627514
xor ecx, ecx
call fcn.004b4f80
add esp, 0xc
push 0x1af6
push 0x627530
push 0x62754c
call fcn.004010e0
add esp, 0xc
push 0xfe
call fcn.005885bd
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0xfe
push 0x1afc
mov edx, 0x627570
xor ecx, ecx
call fcn.004b4f80
add esp, 0xc
push 0x1afc
push 0x62758c
push 0x6275a8
call fcn.004010e0
add esp, 0xc
push 0xfe
call fcn.005885bd
nop
scasb al, byte es:[edi]
dec ebx
dec esp
add byte [esi + ecx*2 + 0x4c], bl
add byte [esi - 0x2bffb3b3], bh
dec esi
dec esp
add byte [edx], bh
dec esp
dec esp
add byte [ecx], al
dec esi
dec esp
add byte [ebx + 0x4d], bh
dec esp
add byte [ebx + 0x51], dl
dec esp
add byte [eax], al
pop es
pop es
pop es
add dword [edx], eax
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
add eax, dword [edi + eax]
pop es
pop es
add eax, -858993658
int3