Function at 0x497a90
Capabilities:
Print debug messages
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b5b50
mov eax, dword fs:[0]
push eax
sub esp, 0x174
mov eax, dword [0x4e5258]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x134], ecx
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x140], 0
mov byte [ebp - 0x136], 0
mov eax, dword [ebp - 0x134]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x38]
jne 0x497b05
mov edx, dword [ebp - 0x134]
mov eax, dword [edx + 0x3c]
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x150], 2
jmp 0x497b1e
mov ecx, dword [ebp - 0x134]
mov edx, dword [ecx + 0x44]
mov dword [ebp - 0x13c], edx
mov dword [ebp - 0x150], 0x17
cmp dword [ebp + 0x14], 0
je 0x497b7f
mov eax, dword [ebp + 0x14]
push eax
push str._Pro5_:TCPProxy::onAcceptComplete___failed__err_d
lea ecx, [ebp - 0x12c]
push ecx
call fcn.00441870
add esp, 0xc
lea edx, [ebp - 0x12c]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [ebp - 0x13c]
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
mov ecx, dword [ebp - 0x150]
push ecx
mov ecx, dword [ebp - 0x134]
call fcn.0049d0a0
movzx edx, al
test edx, edx
jne 0x497b7a
push str._Pro5_:TCPProxy::startAccept___failed
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
jmp 0x498139
lea eax, [ebp - 0x16c]
push eax
lea ecx, [ebp - 0x140]
push ecx
lea edx, [ebp - 0x178]
push edx
lea eax, [ebp - 0x14c]
push eax
push 0x2c
push 0x2c
push 0
push 0
mov ecx, dword [ebp + 0x10]
add ecx, 0x34
call fcn.00491260
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0x134]
mov eax, dword [edx + 0x34]
call eax
mov ecx, dword [ebp - 0x13c]
push ecx
mov ecx, dword [ebp - 0x134]
add ecx, 8
call fcn.0049c5d0
push 4
mov edx, dword [ebp - 0x134]
add edx, 0x38
push edx
push 0x700b
push 0xffff
mov eax, dword [ebp - 0x13c]
push eax
call dword [sym.imp.WS2_32.dll_setsockopt]
mov dword [ebp - 0x154], 1
push 4
lea ecx, [ebp - 0x154]
push ecx
push 1
push 6
mov edx, dword [ebp - 0x13c]
push edx
call dword [sym.imp.WS2_32.dll_setsockopt]
push 4
lea eax, [ebp - 0x154]
push eax
push 8
push 0xffff
mov ecx, dword [ebp - 0x13c]
push ecx
call dword [sym.imp.WS2_32.dll_setsockopt]
mov edx, dword [ebp - 0x13c]
push edx
mov ecx, dword [ebp - 0x134]
call fcn.0049c950
mov eax, dword [ebp - 0x134]
add eax, 0xb8
push eax
lea ecx, [ebp - 0x180]
call fcn.0048f930
mov dword [ebp - 4], 0
push 0xd0
call fcn.004add38
add esp, 4
mov dword [ebp - 0x158], eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0x158], 0
je 0x497c99
mov ecx, dword [ebp - 0x158]
call fcn.0048ffc0
mov dword [ebp - 0x15c], eax
jmp 0x497ca3
mov dword [ebp - 0x15c], 0
mov ecx, dword [ebp - 0x15c]
mov dword [ebp - 0x168], ecx
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x168]
mov dword [ebp - 0x130], edx
mov eax, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x13c]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x14c]
movzx eax, word [edx]
cmp eax, 2
jne 0x497cef
mov ecx, dword [ebp - 0x140]
mov dx, word [ecx + 2]
mov word [ebp - 0x148], dx
jmp 0x497d00
mov eax, dword [ebp - 0x140]
mov cx, word [eax + 2]
mov word [ebp - 0x148], cx
mov edx, dword [ebp - 0x134]
mov eax, dword [edx + 0x48]
add eax, 1
mov ecx, dword [edx + 0x4c]
adc ecx, 0
mov edx, dword [ebp - 0x134]
mov dword [edx + 0x48], eax
mov dword [edx + 0x4c], ecx
mov eax, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x134]
mov edx, dword [ecx + 0x48]
mov dword [eax], edx
mov ecx, dword [ecx + 0x4c]
mov dword [eax + 4], ecx
mov edx, dword [ebp - 0x130]
push edx
mov ecx, dword [ebp - 0x134]
add ecx, 0x24
call fcn.00491210
mov ecx, dword [ebp - 0x130]
mov dword [eax], ecx
mov edx, dword [ebp - 0x130]
mov eax, dword [ebp - 0x14c]
mov cx, word [eax]
mov word [edx + 0x45], cx
mov edx, dword [ebp - 0x130]
mov byte [edx + 0x44], 2
mov eax, dword [ebp - 0x16c]
push eax
mov ecx, dword [ebp - 0x140]
push ecx
mov edx, dword [ebp - 0x130]
add edx, 0x47
push edx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [ebp - 0x135], 0
mov eax, dword [ebp - 0x130]
add eax, 0x3c
push eax
mov ecx, dword [ebp - 0x140]
push ecx
mov edx, dword [ebp - 0x134]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x134]
mov edx, dword [eax + 0xc]
call edx
movzx eax, al
test eax, eax
je 0x497f28
mov byte [ebp - 0x135], 1
mov ecx, dword [ebp - 0x134]
cmp dword [ecx + 0x54], 0
je 0x497e56
mov edx, dword [ebp - 0x130]
mov eax, dword [edx + 0x3c]
or eax, 2
mov ecx, dword [ebp - 0x130]
mov dword [ecx + 0x3c], eax
mov edx, dword [ebp - 0x130]
add edx, 0x3c
push edx
mov eax, dword [ebp - 0x130]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
mov eax, dword [ebp - 0x134]
mov ecx, dword [eax + 0x54]
mov edx, dword [ebp - 0x134]
mov eax, dword [ecx]
mov ecx, dword [edx + 0x54]
mov edx, dword [eax + 8]
call edx
mov eax, dword [ebp - 0x130]
mov ecx, dword [eax + 0x3c]
and ecx, 1
je 0x497e34
mov byte [ebp - 0x135], 0
jmp 0x497e56
mov edx, dword [ebp - 0x130]
mov eax, dword [edx + 0x3c]
and eax, 8
je 0x497e56
mov ecx, dword [ebp - 0x130]
mov byte [ecx + 0xa5], 1
mov byte [ebp - 0x136], 1
mov edx, dword [ebp - 0x134]
cmp dword [edx + 0x94], 0
je 0x497eb8
mov eax, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x134]
mov edx, dword [ecx + 0x94]
mov dword [eax + 0x80], edx
push 0x1c
mov eax, dword [ebp - 0x134]
add eax, 0x98
push eax
mov ecx, dword [ebp - 0x130]
add ecx, 0x84
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edx, dword [ebp - 0x130]
mov eax, dword [ebp - 0x134]
mov ecx, dword [eax + 0xb4]
mov dword [edx + 0xa0], ecx
mov edx, dword [ebp - 0x130]
cmp dword [edx + 0x80], 1
jne 0x497ee3
push 0x1c
mov eax, dword [ebp - 0x130]
add eax, 0x84
push eax
lea ecx, [ebp - 0x2c]
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
jmp 0x497f26
mov edx, dword [ebp - 0x130]
cmp dword [edx + 0x80], 2
jne 0x497f0e
push 0x1c
mov eax, dword [ebp - 0x130]
add eax, 0x84
push eax
lea ecx, [ebp - 0x2c]
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
jmp 0x497f26
push 0x1c
mov edx, dword [ebp - 0x130]
add edx, 0x63
push edx
lea eax, [ebp - 0x2c]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
jmp 0x497f33
push str._Pro5_::onAcceptComplete_real_remote_address_not_found
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
movzx ecx, byte [ebp - 0x135]
test ecx, ecx
je 0x4980a3
mov edx, dword [ebp - 0x130]
movzx eax, byte [edx + 0xa5]
test eax, eax
je 0x497fcc
mov ecx, dword [ebp - 0x130]
mov dword [ecx + 0x38], 4
mov edx, dword [ebp - 0x130]
mov byte [edx + 0x24], 1
mov eax, dword [ebp - 0x130]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
push 1
mov eax, dword [ebp - 0x130]
push eax
mov ecx, dword [ebp - 0x134]
call fcn.0049d760
mov ecx, dword [ebp - 0x134]
cmp dword [ecx + 0x54], 0
je 0x497fc7
mov edx, dword [ebp - 0x130]
add edx, 0x3c
push edx
mov eax, dword [ebp - 0x130]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
mov eax, dword [ebp - 0x134]
mov ecx, dword [eax + 0x54]
mov edx, dword [ebp - 0x134]
mov eax, dword [ecx]
mov ecx, dword [edx + 0x54]
mov edx, dword [eax + 0xc]
call edx
jmp 0x4980a3
push 1
push 0
push 0
push 6
push 1
movzx eax, word [ebp - 0x2c]
push eax
call dword [sym.imp.WS2_32.dll_WSASocketA]
mov dword [ebp - 0x144], eax
cmp dword [ebp - 0x144], 0xffffffff
jne 0x498000
push str._Pro5_::onAcceptComplete_WSASocket_failed
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
jmp 0x4980a3
mov ecx, dword [ebp - 0x130]
mov edx, dword [ebp - 0x144]
mov dword [ecx + 0x20], edx
mov eax, dword [ebp - 0x144]
push eax
mov ecx, dword [ebp - 0x134]
add ecx, 8
call fcn.0049c5d0
movzx ecx, al
test ecx, ecx
jne 0x498038
push str._Pro5_::onAcceptComplete_registerSocket_failed
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
jmp 0x4980a3
movzx edx, word [ebp - 0x2c]
cmp edx, 0x17
jne 0x49804d
mov dword [ebp - 0x160], 0x1c
jmp 0x498057
mov dword [ebp - 0x160], 0x10
mov eax, dword [ebp - 0x130]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
mov eax, dword [ebp - 0x160]
push eax
lea ecx, [ebp - 0x2c]
push ecx
mov edx, dword [ebp - 0x144]
push edx
mov ecx, dword [ebp - 0x134]
call fcn.0049d310
movzx eax, al
test eax, eax
jne 0x498095
push str._Pro5_::onAcceptComplete_startConnect_failed
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
jmp 0x4980a3
mov byte [ebp - 0x136], 1
jmp 0x4980a3
movzx ecx, byte [ebp - 0x136]
test ecx, ecx
jne 0x498103
mov edx, dword [ebp - 0x130]
push edx
mov ecx, dword [ebp - 0x134]
add ecx, 0x24
call fcn.00494e90
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x170], eax
mov ecx, dword [ebp - 0x170]
mov dword [ebp - 0x164], ecx
cmp dword [ebp - 0x164], 0
je 0x4980f9
push 1
mov ecx, dword [ebp - 0x164]
call fcn.00491570
mov dword [ebp - 0x174], eax
jmp 0x498103
mov dword [ebp - 0x174], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x180]
call fcn.00490ae0
mov edx, dword [ebp - 0x150]
push edx
mov ecx, dword [ebp - 0x134]
call fcn.0049d0a0
movzx eax, al
test eax, eax
jne 0x498139
push str._Pro5_::startAccept___failed
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004adff8
mov esp, ebp
pop ebp
ret 0x10