Function at 0x496af7
Capabilities:
Terminate process

Disassembly:
sub esp, 0x230
mov eax, dword [0x6ccd44]
xor eax, esp
mov dword [esp + 0x22c], eax
push ebx
mov ebx, dword [esp + 0x238]
push ebp
mov ebp, edx
mov dword [esp + 0x1c], ebx
push esi
push edi
mov edi, ecx
movzx eax, word [ebx + ebp]
push eax
call dword [sym.imp.WS2_32.dll_ntohs]
movzx esi, ax
mov edx, 0x110
mov ecx, esi
lea eax, [ebx + 8]
add eax, ebp
and ecx, edx
mov dword [esp + 0x18], eax
cmp ecx, 0x10
je 0x496b61
cmp ecx, edx
je 0x496b61
push ecx
push ebx
mov edx, ebp
mov ecx, edi
call fcn.0049696c
pop ecx
pop ecx
test eax, eax
je 0x497274
lea eax, [ebx + 8]
add eax, ebp
mov ecx, 0x109
cmp esi, ecx
ja 0x496deb
je 0x496d95
sub esi, 0x17
je 0x496d06
sub esi, 0xec
je 0x496c82
sub esi, 1
je 0x496bfd
sub esi, 4
jne 0x497274
lea ecx, [esp + 0x14]
mov edx, eax
push ecx
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [edi + 0x48]
push 0xc
call fcn.00484abf
add esp, 0xc
cmp dword [esp + 0x14], esi
jne 0x496bc9
cmp dword [esp + 0x10], esi
je 0x496be9
push esi
push 1
push edi
call dword [esp + 0x1c]
add esp, 0xc
jmp 0x496be9
mov esi, dword [esp + 0x10]
xor ebx, ebx
inc ebx
mov eax, dword [esi]
test eax, eax
je 0x496be0
push dword [esi + 4]
push ebx
push edi
call eax
add esp, 0xc
push ebx
push esi
call fcn.005e7dd0
pop ecx
pop ecx
mov edx, dword [esp + 0x18]
mov ecx, dword [edi + 0x48]
push 0xc
call fcn.00484aef
pop ecx
jmp 0x497274
lea ecx, [esp + 0x10]
mov edx, eax
push ecx
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [edi + 0x48]
push 0xc
call fcn.00484abf
add esp, 0xc
lea eax, [esp + 0x20]
mov edx, ebx
push eax
push ecx
push 0xd
push ecx
mov ecx, ebp
call fcn.00496752
mov esi, dword [esp + 0x24]
add esp, 0x10
test esi, esi
je 0x497274
cmp dword [esp + 0x10], 0
jne 0x496c55
mov eax, dword [esp + 0x20]
push 0
push dword [eax]
call dword [sym.imp.WS2_32.dll_ntohl]
push eax
push edi
call esi
jmp 0x497271
cmp dword [esp + 0x10], 2
jne 0x497274
cmp dword [esi], 0
je 0x496c7b
mov eax, dword [esp + 0x20]
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 0x496fae
lea eax, [esp + 0x28]
mov edx, ebx
push eax
push ecx
push 0xd
push ecx
mov ecx, ebp
call fcn.00496752
add esp, 0x10
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x14]
mov edx, ebx
push eax
push ecx
push 0x16
push ecx
mov ecx, ebp
call fcn.00496752
mov esi, eax
add esp, 0x10
test esi, esi
jle 0x496ccf
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x8c]
lea edx, [ebx + 8]
push eax
add edx, ebp
push edx
call fcn.00497573
pop ecx
pop ecx
cmp dword [esp + 0x1c], 0
jle 0x497274
test esi, esi
jle 0x497274
mov eax, dword [esp + 0x28]
push dword [eax]
call dword [sym.imp.WS2_32.dll_ntohl]
mov ecx, dword [edi + 0x24]
test ecx, ecx
je 0x497274
lea edx, [esp + 0x8c]
push edx
jmp 0x49726d
lea eax, [esp + 0x14]
mov edx, ebx
push eax
push ecx
push 0x12
push ecx
mov ecx, ebp
call fcn.00496752
add esp, 0x10
mov esi, eax
lea eax, [esp + 0x1c]
mov edx, ebx
push eax
push ecx
push 0x13
push ecx
mov ecx, ebp
call fcn.00496752
add esp, 0x10
mov ebp, eax
test esi, esi
jle 0x497274
test ebp, ebp
jle 0x497274
xor ebx, ebx
cmp dword [edi + 0x28], ebx
je 0x497274
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x8c]
mov ecx, dword [esp + 0x14]
push eax
push edx
mov dword [esp + 0xb0], 4
mov dword [esp + 0xb4], 0x10000
call fcn.00497573
push ebp
push ebx
push dword [esp + 0x2c]
lea eax, [esp + 0xa0]
push eax
push edi
call dword [edi + 0x28]
add esp, 0x1c
jmp 0x497274
lea ecx, [esp + 0x1c]
mov edx, eax
push ecx
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [edi + 0x48]
push 0xc
call fcn.00484abf
mov esi, dword [esp + 0x20]
add esp, 0xc
test esi, esi
je 0x497274
mov eax, dword [esi]
xor ebx, ebx
inc ebx
test eax, eax
je 0x496dd1
push dword [esi + 4]
push ebx
push dword [esp + 0x24]
push edi
call eax
add esp, 0x10
push ebx
push esi
call fcn.005e7dd0
mov edx, dword [esp + 0x20]
mov ecx, dword [edi + 0x48]
push 0xc
call fcn.00484aef
jmp 0x497271
sub esi, 0x113
je 0x496fba
sub esi, 1
je 0x496e9a
sub esi, 4
je 0x496e4a
sub esi, 1
jne 0x497274
lea ecx, [esp + 0x1c]
mov edx, eax
push ecx
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [edi + 0x48]
push 0xc
call fcn.00484abf
mov esi, dword [esp + 0x20]
add esp, 0xc
test esi, esi
je 0x496be9
mov eax, dword [esi]
test eax, eax
je 0x496e93
push dword [esi + 4]
push 0
push dword [esp + 0x24]
push edi
call eax
add esp, 0x10
jmp 0x496e93
lea ecx, [esp + 0x14]
mov edx, eax
push ecx
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [edi + 0x48]
push 0xc
call fcn.00484abf
add esp, 0xc
cmp dword [esp + 0x14], 0
jne 0x496e7e
cmp dword [esp + 0x10], 0
je 0x496be9
xor eax, eax
push eax
push eax
jmp 0x496bbf
mov esi, dword [esp + 0x10]
mov eax, dword [esi]
test eax, eax
je 0x496e93
push dword [esi + 4]
push 0
push edi
call eax
add esp, 0xc
push 1
jmp 0x496be1
lea eax, [esp + 0x10]
mov edx, ebx
push eax
push ecx
push 9
push ecx
mov ecx, ebp
call fcn.00496752
mov ecx, eax
add esp, 0x10
xor eax, eax
mov dword [esp + 0x1c], ecx
cmp ecx, 4
mov ecx, dword [esp + 0x10]
jge 0x496ec4
mov esi, eax
jmp 0x496ee3
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 + 0x1c], 4
jle 0x496eed
lea eax, [ecx + 4]
mov ecx, dword [edi + 0x48]
lea edx, [ebx + 8]
mov dword [esp + 0x10], eax
add edx, ebp
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x1c]
push eax
push 0xc
call fcn.00484abf
add esp, 0xc
sub esi, 0x191
je 0x497274
sub esi, 0x25
je 0x496f31
cmp dword [esp + 0x20], 2
jne 0x497274
push 1
push dword [esp + 0x1c]
jmp 0x496faf
push 0x15
push ecx
mov edx, ebx
mov ecx, ebp
call fcn.00496804
xor ebx, ebx
inc ebx
pop ecx
pop ecx
cmp eax, ebx
jne 0x496f9e
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x10]
push eax
push ecx
push 0x15
push ecx
mov ecx, ebp
call fcn.00496752
push ebx
push dword [edi + 0x50]
mov esi, eax
call fcn.005e7dd0
mov ecx, dword [esp + 0x28]
add esp, 0x18
mov edx, esi
mov dword [edi + 0x54], esi
call fcn.00487fca
cmp dword [esp + 0x20], 0
mov esi, dword [esp + 0x18]
mov dword [edi + 0x50], eax
jne 0x496f8a
mov edx, esi
xor eax, eax
jmp 0x496f93
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
push eax
mov ecx, edi
call fcn.00497806
pop ecx
jmp 0x496fa2
mov esi, dword [esp + 0x18]
cmp dword [esp + 0x20], 2
jne 0x497274
push ebx
push esi
call fcn.005e7dd0
pop ecx
jmp 0x496bf7
push 0x14
push ecx
mov edx, ebx
mov ecx, ebp
call fcn.00496804
xor ebx, ebx
inc ebx
pop ecx
pop ecx
cmp eax, ebx
jne 0x497274
mov esi, dword [esp + 0x24]
mov edx, esi
push 0x15
push ecx
mov ecx, ebp
call fcn.00496804
pop ecx
pop ecx
cmp eax, ebx
jne 0x497274
mov ecx, dword [edi + 0x48]
lea edx, [esi + 8]
push 0
push 0xc
add edx, ebp
call fcn.004848c8
pop ecx
pop ecx
test eax, eax
je 0x497263
lea eax, [esp + 0x28]
mov edx, esi
push eax
push ecx
push 0x15
push ecx
mov ecx, ebp
call fcn.00496752
add esp, 0x10
mov dword [esp + 0x10], eax
lea eax, [esp + 0x14]
mov edx, esi
push eax
push ecx
push 0x14
push ecx
mov ecx, ebp
call fcn.00496752
add esp, 0x10
mov dword [esp + 0x1c], eax
cmp dword [edi + 0x50], 0
je 0x49704b
push ebx
push dword [edi + 0x50]
call fcn.005e7dd0
pop ecx
pop ecx
mov esi, dword [esp + 0x10]
push 0x1b03
push 0x724b94
push ebx
lea ebp, [esi + 1]
push ebp
call fcn.005e7f10
add esp, 0x10
mov dword [edi + 0x50], eax
test eax, eax
je 0x49728d
push esi
push dword [esp + 0x2c]
mov edx, ebp
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 0x49709c
push ebx
push dword [edi + 0x58]
call fcn.005e7dd0
pop ecx
pop ecx
mov ebp, dword [esp + 0x1c]
push 0x1b09
push 0x724c0c
push ebx
lea esi, [ebp + 1]
push esi
call fcn.005e7f10
add esp, 0x10
mov dword [edi + 0x58], eax
test eax, eax
jne 0x4970ed
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov esi, 0xfe
mov edi, 0x1b09
push esi
push edi
mov edx, 0x724c28
xor ecx, ecx
call fcn.00488a50
push edi
push 0x724c44
push 0x724c60
jmp 0x4972b7
push ebp
push dword [esp + 0x18]
mov edx, esi
mov ecx, eax
call section..text
mov eax, dword [edi + 0x58]
mov byte [eax + ebp], 0
lea eax, [esp + 0x1c4]
push dword [edi + 0x40]
mov dword [edi + 0x5c], ebp
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.004ab690
push esi
lea eax, [esp + 0x1e4]
push eax
lea eax, [esp + 0x5c]
push eax
call fcn.004ab6f0
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0xc0]
push eax
call fcn.004ab570
lea eax, [esp + 0xe8]
push 0xc
push eax
call fcn.004baa80
mov edx, dword [esp + 0x58]
lea eax, [esp + 0x6c]
mov ecx, dword [edi + 0x48]
add esp, 0x40
push eax
lea eax, [esp + 0x24]
push eax
push 0xc
call fcn.00484abf
mov edx, dword [esp + 0x24]
mov ecx, dword [edi + 0x48]
push 0xc
call fcn.00484aef
mov al, byte [esp + 0x3c]
lea ecx, [esp + 0xcc]
and dword [esp + 0x34], 0
mov byte [esp + 0x34], al
lea eax, [esp + 0xc0]
push eax
push 3
pop edx
call fcn.004974ff
mov esi, eax
lea ecx, [esp + 0xd0]
push 4
lea eax, [esp + 0x3c]
mov edx, esi
push eax
push 0x19
call fcn.00497531
add esi, eax
lea ecx, [esp + 0xdc]
mov eax, dword [esp + 0x30]
mov edx, esi
push eax
push dword [esp + 0x4c]
push 0x15
call fcn.00497531
add esi, eax
lea ecx, [esp + 0xe8]
mov eax, dword [esp + 0x48]
mov edx, esi
push eax
push dword [esp + 0x44]
push 0x14
call fcn.00497531
push dword [edi + 0x3c]
add esi, eax
lea ecx, [esp + 0xf8]
push dword [edi + 0x38]
mov edx, esi
push 6
call fcn.00497531
add esp, 0x44
lea ecx, [esp + 0xbc]
add esi, eax
lea eax, [esp + 0x8c]
mov edx, esi
push 0x10
push eax
call fcn.0048f929
add esi, eax
lea ecx, [esp + 0xc4]
mov edx, esi
call fcn.0048f9a2
push 2
add esi, eax
lea eax, [esp + 0xc8]
push esi
push eax
push ebx
push 0
push dword [edi + 0x34]
call fcn.0047ccbc
add esp, 0x20
jmp 0x497274
mov ecx, dword [edi + 0x24]
test ecx, ecx
je 0x497274
xor eax, eax
push eax
push eax
push edi
call ecx
add esp, 0xc
mov ecx, dword [esp + 0x23c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.005b35b0
add esp, 0x230
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov esi, 0xfe
mov edi, 0x1b03
push esi
push edi
mov edx, 0x724bb0
xor ecx, ecx
call fcn.00488a50
push edi
push 0x724bcc
push 0x724be8
call fcn.00401109
add esp, 0x18
push esi
call fcn.005c3000
int3