Function at 0x49adf5
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x23c
mov eax, dword [0x6d1d44]
xor eax, esp
mov dword [esp + 0x238], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, edx
mov dword [esp + 0x14], eax
push esi
push edi
mov dword [esp + 0x24], ebx
mov edi, ecx
movzx eax, word [eax + ebx]
push eax
call dword [sym.imp.WS2_32.dll_ntohs]
movzx esi, ax
mov eax, dword [esp + 0x1c]
mov edx, esi
and edx, 0x110
lea ecx, [eax + 8]
add ecx, ebx
mov dword [esp + 0x20], ecx
cmp edx, 0x10
je 0x49ae6e
cmp edx, 0x110
je 0x49ae6e
push ecx
push eax
mov edx, ebx
mov ecx, edi
call fcn.0049ac6a
pop ecx
pop ecx
test eax, eax
je 0x49b5ad
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, 0x109
cmp esi, edx
ja 0x49b100
je 0x49b0aa
sub esi, 0x17
je 0x49b015
sub esi, 0xec
je 0x49af91
sub esi, 1
je 0x49af0a
sub esi, 4
jne 0x49b5ad
lea eax, [esp + 0x14]
mov edx, ecx
mov ecx, dword [edi + 0x48]
push eax
lea eax, [esp + 0x14]
push eax
push 0xc
call fcn.004889ed
add esp, 0xc
cmp dword [esp + 0x14], esi
jne 0x49aed6
cmp dword [esp + 0x10], esi
je 0x49aef6
push esi
push 1
push edi
call dword [esp + 0x1c]
add esp, 0xc
jmp 0x49aef6
mov esi, dword [esp + 0x10]
xor ebx, ebx
inc ebx
mov eax, dword [esi]
test eax, eax
je 0x49aeed
push dword [esi + 4]
push ebx
push edi
call eax
add esp, 0xc
push ebx
push esi
call fcn.005ed680
pop ecx
pop ecx
mov edx, dword [esp + 0x20]
mov ecx, dword [edi + 0x48]
push 0xc
call fcn.00488a1d
pop ecx
jmp 0x49b5ad
lea eax, [esp + 0x10]
mov edx, ecx
mov ecx, dword [edi + 0x48]
push eax
lea eax, [esp + 0x18]
push eax
push 0xc
call fcn.004889ed
mov edx, dword [esp + 0x28]
lea eax, [esp + 0x38]
add esp, 0xc
push eax
push ecx
push 0xd
push ecx
mov ecx, ebx
call fcn.0049aa50
mov esi, dword [esp + 0x24]
add esp, 0x10
test esi, esi
je 0x49b5ad
cmp dword [esp + 0x10], 0
jne 0x49af64
mov eax, dword [esp + 0x2c]
push 0
push dword [eax]
call dword [sym.imp.WS2_32.dll_ntohl]
push eax
push edi
call esi
jmp 0x49b5aa
cmp dword [esp + 0x10], 2
jne 0x49b5ad
cmp dword [esi], 0
je 0x49af8a
mov eax, dword [esp + 0x2c]
push dword [esi + 4]
push dword [eax]
call dword [sym.imp.WS2_32.dll_ntohl]
push eax
push edi
call dword [esi]
add esp, 0xc
push 1
jmp 0x49b2c9
lea ecx, [esp + 0x24]
mov edx, eax
push ecx
push ecx
push 0xd
push ecx
mov ecx, ebx
call fcn.0049aa50
mov edx, dword [esp + 0x2c]
add esp, 0x10
mov dword [esp + 0x18], eax
lea eax, [esp + 0x14]
push eax
push ecx
push 0x16
push ecx
mov ecx, ebx
call fcn.0049aa50
mov esi, eax
add esp, 0x10
test esi, esi
jle 0x49afde
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x90]
push eax
push dword [esp + 0x24]
call fcn.0049b8b1
pop ecx
pop ecx
cmp dword [esp + 0x18], 0
jle 0x49b5ad
test esi, esi
jle 0x49b5ad
mov eax, dword [esp + 0x24]
push dword [eax]
call dword [sym.imp.WS2_32.dll_ntohl]
mov ecx, dword [edi + 0x24]
test ecx, ecx
je 0x49b5ad
lea edx, [esp + 0x90]
push edx
jmp 0x49b5a6
lea ecx, [esp + 0x14]
mov edx, eax
push ecx
push ecx
push 0x12
push ecx
mov ecx, ebx
call fcn.0049aa50
mov edx, dword [esp + 0x2c]
add esp, 0x10
mov esi, eax
lea eax, [esp + 0x24]
push eax
push ecx
push 0x13
push ecx
mov ecx, ebx
call fcn.0049aa50
add esp, 0x10
mov dword [esp + 0x18], eax
test esi, esi
jle 0x49b5ad
test eax, eax
jle 0x49b5ad
xor ebx, ebx
cmp dword [edi + 0x28], ebx
je 0x49b5ad
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x90]
push eax
push dword [esp + 0x24]
mov dword [esp + 0xb4], 4
mov dword [esp + 0xb8], 0x10000
call fcn.0049b8b1
push dword [esp + 0x20]
lea eax, [esp + 0x9c]
push ebx
push dword [esp + 0x34]
push eax
push edi
call dword [edi + 0x28]
add esp, 0x1c
jmp 0x49b5ad
lea eax, [esp + 0x18]
mov edx, ecx
mov ecx, dword [edi + 0x48]
push eax
lea eax, [esp + 0x18]
push eax
push 0xc
call fcn.004889ed
mov esi, dword [esp + 0x20]
add esp, 0xc
test esi, esi
je 0x49b5ad
mov eax, dword [esi]
xor ebx, ebx
inc ebx
test eax, eax
je 0x49b0e6
push dword [esi + 4]
push ebx
push dword [esp + 0x20]
push edi
call eax
add esp, 0x10
push ebx
push esi
call fcn.005ed680
mov edx, dword [esp + 0x28]
mov ecx, dword [edi + 0x48]
push 0xc
call fcn.00488a1d
jmp 0x49b5aa
sub esi, 0x113
je 0x49b2d5
sub esi, 1
je 0x49b1af
sub esi, 4
je 0x49b15f
sub esi, 1
jne 0x49b5ad
lea eax, [esp + 0x18]
mov edx, ecx
mov ecx, dword [edi + 0x48]
push eax
lea eax, [esp + 0x18]
push eax
push 0xc
call fcn.004889ed
mov esi, dword [esp + 0x20]
add esp, 0xc
test esi, esi
je 0x49aef6
mov eax, dword [esi]
test eax, eax
je 0x49b1a8
push dword [esi + 4]
push 0
push dword [esp + 0x20]
push edi
call eax
add esp, 0x10
jmp 0x49b1a8
lea eax, [esp + 0x14]
mov edx, ecx
mov ecx, dword [edi + 0x48]
push eax
lea eax, [esp + 0x14]
push eax
push 0xc
call fcn.004889ed
add esp, 0xc
cmp dword [esp + 0x14], 0
jne 0x49b193
cmp dword [esp + 0x10], 0
je 0x49aef6
xor eax, eax
push eax
push eax
jmp 0x49aecc
mov esi, dword [esp + 0x10]
mov eax, dword [esi]
test eax, eax
je 0x49b1a8
push dword [esi + 4]
push 0
push edi
call eax
add esp, 0xc
push 1
jmp 0x49aeee
lea ecx, [esp + 0x10]
mov edx, eax
push ecx
push ecx
push 9
push ecx
mov ecx, ebx
call fcn.0049aa50
mov ecx, eax
add esp, 0x10
xor eax, eax
mov dword [esp + 0x18], ecx
cmp ecx, 4
mov ecx, dword [esp + 0x10]
jge 0x49b1d9
mov esi, eax
jmp 0x49b1f8
movsx eax, byte [ecx + 2]
and eax, 7
mov dword [esp + 0x14], 0x64
imul esi, eax, 0x64
movsx eax, byte [ecx + 3]
cdq
idiv dword [esp + 0x14]
add esi, edx
xor eax, eax
cmp dword [esp + 0x18], 4
jle 0x49b202
lea eax, [ecx + 4]
mov edx, dword [esp + 0x20]
mov ecx, dword [edi + 0x48]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x2c]
push eax
push 0xc
call fcn.004889ed
add esp, 0xc
sub esi, 0x191
je 0x49b5ad
sub esi, 0x25
je 0x49b248
cmp dword [esp + 0x2c], 2
jne 0x49b5ad
push 1
push dword [esp + 0x2c]
jmp 0x49b2ca
mov esi, dword [esp + 0x1c]
mov edx, esi
push 0x15
push ecx
mov ecx, ebx
call fcn.0049ab02
xor ebx, ebx
inc ebx
pop ecx
pop ecx
cmp eax, ebx
jne 0x49b2b9
lea eax, [esp + 0x10]
mov edx, esi
push eax
push ecx
push 0x15
push ecx
mov ecx, dword [esp + 0x34]
call fcn.0049aa50
push ebx
push dword [edi + 0x50]
mov esi, eax
call fcn.005ed680
mov ecx, dword [esp + 0x28]
add esp, 0x18
mov edx, esi
mov dword [edi + 0x54], esi
call fcn.0048bfc8
cmp dword [esp + 0x2c], 0
mov esi, dword [esp + 0x28]
mov dword [edi + 0x50], eax
jne 0x49b2a5
mov edx, esi
xor eax, eax
jmp 0x49b2ae
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
push eax
mov ecx, edi
call fcn.0049bb4a
pop ecx
jmp 0x49b2bd
mov esi, dword [esp + 0x28]
cmp dword [esp + 0x2c], 2
jne 0x49b5ad
push ebx
push esi
call fcn.005ed680
pop ecx
jmp 0x49af04
push 0x14
push ecx
mov edx, eax
mov ecx, ebx
call fcn.0049ab02
xor ebx, ebx
inc ebx
pop ecx
pop ecx
cmp eax, ebx
jne 0x49b5ad
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
push 0x15
push ecx
mov ecx, esi
call fcn.0049ab02
pop ecx
pop ecx
cmp eax, ebx
jne 0x49b5ad
mov edx, dword [esp + 0x20]
mov ecx, dword [edi + 0x48]
push 0
push 0xc
call fcn.004887f6
pop ecx
pop ecx
test eax, eax
je 0x49b59c
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0x18]
push eax
push ecx
push 0x15
push ecx
mov ecx, esi
call fcn.0049aa50
mov edx, dword [esp + 0x2c]
add esp, 0x10
mov dword [esp + 0x28], eax
lea eax, [esp + 0x14]
push eax
push ecx
push 0x14
push ecx
mov ecx, esi
call fcn.0049aa50
add esp, 0x10
mov dword [esp + 0x10], eax
cmp dword [edi + 0x50], 0
je 0x49b36b
push ebx
push dword [edi + 0x50]
call fcn.005ed680
pop ecx
pop ecx
mov esi, dword [esp + 0x28]
push 0x1b08
push 0x743388
push ebx
lea eax, [esi + 1]
push eax
call fcn.005ed7c0
add esp, 0x10
mov dword [edi + 0x50], eax
test eax, eax
je 0x49b5c2
push esi
push dword [esp + 0x1c]
lea edx, [esi + 1]
mov ecx, eax
call section..text
mov eax, dword [edi + 0x50]
pop ecx
pop ecx
mov byte [esi + eax], 0
cmp dword [edi + 0x58], 0
mov dword [edi + 0x54], esi
je 0x49b3bd
push ebx
push dword [edi + 0x58]
call fcn.005ed680
pop ecx
pop ecx
mov esi, dword [esp + 0x10]
push 0x1b0e
push 0x743400
inc esi
push ebx
push esi
call fcn.005ed7c0
add esp, 0x10
mov dword [edi + 0x58], eax
test eax, eax
jne 0x49b40f
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov esi, 0xfe
mov edi, 0x1b0e
push esi
push edi
mov edx, 0x74341c
xor ecx, ecx
call fcn.0048cac3
add esp, 0xc
push edi
push 0x743438
push 0x743454
jmp 0x49b5ef
push dword [esp + 0x10]
mov edx, esi
mov ecx, eax
push dword [esp + 0x18]
call section..text
mov eax, dword [edi + 0x58]
mov ecx, dword [esp + 0x18]
mov byte [ecx + eax], 0
lea eax, [esp + 0x1c8]
push dword [edi + 0x40]
mov dword [edi + 0x5c], ecx
push dword [edi + 0x58]
push dword [edi + 0x38]
push str._s:_s:_s
push 0x80
push eax
call fcn.0040117f
mov esi, eax
lea eax, [esp + 0x50]
push eax
call fcn.004b0590
add esp, 0x24
lea eax, [esp + 0x1c0]
push esi
push eax
lea eax, [esp + 0x38]
push eax
call fcn.004b05f0
add esp, 0xc
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x94]
push eax
call fcn.004b0470
lea eax, [esp + 0xbc]
push 0xc
push eax
call fcn.004bf9b0
mov edx, dword [esp + 0x30]
lea eax, [esp + 0x2c]
mov ecx, dword [edi + 0x48]
push eax
lea eax, [esp + 0x40]
push eax
push 0xc
call fcn.004889ed
mov edx, dword [esp + 0x3c]
add esp, 0x1c
mov ecx, dword [edi + 0x48]
push 0xc
call fcn.00488a1d
mov al, byte [esp + 0x20]
and dword [esp + 0x28], 0
pop ecx
mov byte [esp + 0x24], al
lea ecx, [esp + 0xc0]
lea eax, [esp + 0xb4]
push eax
push 3
pop edx
call fcn.0049b83d
pop ecx
mov esi, eax
lea ecx, [esp + 0xc0]
push 4
lea eax, [esp + 0x28]
mov edx, esi
push eax
push 0x19
call fcn.0049b86f
add esp, 0xc
lea ecx, [esp + 0xc0]
add esi, eax
mov eax, dword [esp + 0x28]
mov edx, esi
push eax
push dword [esp + 0x1c]
push 0x15
call fcn.0049b86f
add esp, 0xc
add esi, eax
push dword [esp + 0x10]
mov edx, esi
lea ecx, [esp + 0xc4]
push dword [esp + 0x18]
push 0x14
call fcn.0049b86f
add esp, 0xc
lea ecx, [esp + 0xc0]
add esi, eax
mov edx, esi
push dword [edi + 0x3c]
push dword [edi + 0x38]
push 6
call fcn.0049b86f
add esp, 0xc
lea ecx, [esp + 0xc0]
add esi, eax
lea eax, [esp + 0x90]
mov edx, esi
push 0x10
push eax
call fcn.00493b4a
add esi, eax
lea ecx, [esp + 0xc8]
mov edx, esi
call fcn.00493bc3
push 2
add esi, eax
lea eax, [esp + 0xcc]
push esi
push eax
push ebx
push 0
push dword [edi + 0x34]
call fcn.004806cf
add esp, 0x20
jmp 0x49b5ad
mov ecx, dword [edi + 0x24]
test ecx, ecx
je 0x49b5ad
xor eax, eax
push eax
push eax
push edi
call ecx
add esp, 0xc
mov ecx, dword [esp + 0x244]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.005b8900
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov esi, 0xfe
mov edi, 0x1b08
push esi
push edi
mov edx, 0x7433a4
xor ecx, ecx
call fcn.0048cac3
add esp, 0xc
push edi
push 0x7433c0
push 0x7433dc
call fcn.00401109
add esp, 0xc
push esi
call fcn.005c8390
int3