Function at 0x499b70
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b5cdb
mov eax, dword fs:[0]
push eax
sub esp, 0x700
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 - 0x6ac], ecx
push 0x400
push 0
lea eax, [ebp - 0x610]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x1c]
push ecx
mov edx, dword [eax + 0x18]
push edx
push str.DNSProxy::onTcpReceiveComplete__I64u_bytes_d__err_d_r_n
lea eax, [ebp - 0x610]
push eax
call fcn.00441870
add esp, 0x18
lea ecx, [ebp - 0x610]
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
cmp dword [ebp + 0xc], 0
jne 0x499c05
mov edx, dword [ebp + 0x10]
push edx
mov ecx, dword [ebp - 0x6ac]
call fcn.004946f0
jmp 0x49a4af
mov eax, dword [ebp - 0x6ac]
add eax, 0x30
push eax
lea ecx, [ebp - 0x70c]
call fcn.0048f930
mov dword [ebp - 4], 0
mov ecx, dword [ebp + 0x10]
add ecx, 0x18
push ecx
lea edx, [ebp - 0x6a8]
push edx
mov ecx, dword [ebp - 0x6ac]
add ecx, 0x20
call fcn.00495470
lea eax, [ebp - 0x6f4]
push eax
mov ecx, dword [ebp - 0x6ac]
add ecx, 0x20
call fcn.0043e480
push eax
lea ecx, [ebp - 0x6a8]
call fcn.00439140
movzx ecx, al
test ecx, ecx
je case.default.0x499ca2
lea ecx, [ebp - 0x6a8]
call fcn.00439290
mov edx, dword [eax + 8]
mov eax, dword [edx + 0x38]
mov dword [ebp - 0x6bc], eax
mov ecx, dword [ebp - 0x6bc]
sub ecx, 1
mov dword [ebp - 0x6bc], ecx
cmp dword [ebp - 0x6bc], 3
ja case.default.0x499ca2
mov edx, dword [ebp - 0x6bc]
jmp dword [edx*4 + 0x49a4cc]
cmp dword [ebp + 0xc], 2
jae 0x499cb9
jmp case.default.0x499ca2
push 0
mov ecx, dword [ebp + 0x10]
add ecx, 0x44
call fcn.00491240
mov dword [ebp - 0x6b8], eax
mov eax, dword [ebp - 0x6b8]
movsx ecx, byte [eax]
cmp ecx, 5
jne 0x499cf7
mov edx, dword [ebp - 0x6b8]
movsx eax, byte [edx + 1]
test eax, eax
je 0x499cfc
mov ecx, dword [ebp - 0x6b8]
movsx edx, byte [ecx + 1]
cmp edx, 2
je 0x499cfc
jmp case.default.0x499ca2
mov eax, dword [ebp - 0x6b8]
movsx ecx, byte [eax + 1]
cmp ecx, 2
jne 0x499e81
lea ecx, [ebp - 0x6a8]
call fcn.00439290
mov edx, dword [eax + 8]
add edx, 0x60
mov dword [ebp - 0x6e0], edx
lea ecx, [ebp - 0x6a8]
call fcn.00439290
mov eax, dword [eax + 8]
add eax, 0x160
mov dword [ebp - 0x6dc], eax
push 0x200
push 0
lea ecx, [ebp - 0x210]
push ecx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea edx, [ebp - 0x210]
mov dword [ebp - 0x6b0], edx
mov eax, dword [ebp - 0x6b0]
mov dword [eax], 1
mov ecx, dword [ebp - 0x6e0]
push ecx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov dword [ebp - 0x6b4], eax
push 1
lea edx, [ebp - 0x6b4]
push edx
mov eax, dword [ebp - 0x6b0]
add eax, 1
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ecx, dword [ebp - 0x6b4]
push ecx
mov edx, dword [ebp - 0x6e0]
push edx
mov eax, dword [ebp - 0x6b0]
add eax, 2
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ecx, dword [ebp - 0x6dc]
push ecx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov dword [ebp - 0x6c4], eax
push 1
lea edx, [ebp - 0x6c4]
push edx
mov eax, dword [ebp - 0x6b4]
mov ecx, dword [ebp - 0x6b0]
lea edx, [ecx + eax + 2]
push edx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x6c4]
push eax
mov ecx, dword [ebp - 0x6dc]
push ecx
mov edx, dword [ebp - 0x6b4]
mov eax, dword [ebp - 0x6b0]
lea ecx, [eax + edx + 3]
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x1c]
push eax
mov ecx, dword [edx + 0x18]
push ecx
mov edx, dword [ebp - 0x6b4]
mov eax, dword [ebp - 0x6c4]
lea ecx, [eax + edx + 3]
push ecx
mov edx, dword [ebp - 0x6b0]
push edx
lea ecx, [ebp - 0x6a8]
call fcn.00439290
mov eax, dword [eax + 8]
mov ecx, dword [eax + 0x30]
push ecx
mov ecx, dword [ebp - 0x6ac]
call fcn.0049d990
movzx edx, al
test edx, edx
je 0x499e77
lea ecx, [ebp - 0x6a8]
call fcn.00439290
mov eax, dword [eax + 8]
mov dword [eax + 0x38], 2
jmp case.default.0x499ca2
mov ecx, dword [ebp - 0x6b8]
movsx edx, byte [ecx + 1]
test edx, edx
jne 0x49a009
lea ecx, [ebp - 0x6a8]
call fcn.00439290
mov eax, dword [eax + 8]
add eax, 0x3d
mov dword [ebp - 0x6c8], eax
mov ecx, dword [ebp - 0x6c8]
movzx edx, word [ecx]
cmp edx, 2
jne 0x499ec4
mov dword [ebp - 0x6d8], 0x10
jmp 0x499ece
mov dword [ebp - 0x6d8], 0x1c
mov eax, dword [ebp - 0x6d8]
mov dword [ebp - 0x6f8], eax
mov ecx, dword [ebp - 0x6c8]
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov edx, dword [ebp - 0x6c8]
movzx eax, word [edx]
mov dword [ebp - 0x6ec], eax
cmp dword [ebp - 0x6ec], 2
jne 0x499f84
mov byte [ebp - 0x628], 5
mov byte [ebp - 0x627], 1
mov byte [ebp - 0x626], 0
mov byte [ebp - 0x625], 1
mov dword [ebp - 0x624], 0
xor ecx, ecx
mov word [ebp - 0x620], cx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x1c]
push eax
mov ecx, dword [edx + 0x18]
push ecx
push 0xa
lea edx, [ebp - 0x628]
push edx
lea ecx, [ebp - 0x6a8]
call fcn.00439290
mov eax, dword [eax + 8]
mov ecx, dword [eax + 0x30]
push ecx
mov ecx, dword [ebp - 0x6ac]
call fcn.0049d990
movzx edx, al
test edx, edx
je 0x499f7f
lea ecx, [ebp - 0x6a8]
call fcn.00439290
mov eax, dword [eax + 8]
mov dword [eax + 0x38], 3
jmp 0x49a009
mov byte [ebp - 0x658], 5
mov byte [ebp - 0x657], 1
mov byte [ebp - 0x656], 0
mov byte [ebp - 0x655], 4
push 0x10
push 0
lea ecx, [ebp - 0x654]
push ecx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
xor edx, edx
mov word [ebp - 0x644], dx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x1c]
push ecx
mov edx, dword [eax + 0x18]
push edx
push 0x16
lea eax, [ebp - 0x658]
push eax
lea ecx, [ebp - 0x6a8]
call fcn.00439290
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 0x30]
push edx
mov ecx, dword [ebp - 0x6ac]
call fcn.0049d990
movzx eax, al
test eax, eax
je 0x49a009
lea ecx, [ebp - 0x6a8]
call fcn.00439290
mov ecx, dword [eax + 8]
mov dword [ecx + 0x38], 3
jmp case.default.0x499ca2
cmp dword [ebp + 0xc], 2
jae 0x49a019
jmp case.default.0x499ca2
push 0
mov ecx, dword [ebp + 0x10]
add ecx, 0x44
call fcn.00491240
mov dword [ebp - 0x6d4], eax
mov edx, dword [ebp - 0x6d4]
movsx eax, byte [edx]
cmp eax, 1
jne 0x49a048
mov ecx, dword [ebp - 0x6d4]
movzx edx, byte [ecx + 1]
test edx, edx
je 0x49a04d
jmp case.default.0x499ca2
lea ecx, [ebp - 0x6a8]
call fcn.00439290
mov eax, dword [eax + 8]
add eax, 0x3d
mov dword [ebp - 0x6cc], eax
mov ecx, dword [ebp - 0x6cc]
movzx edx, word [ecx]
cmp edx, 2
jne 0x49a07e
mov dword [ebp - 0x6d0], 0x10
jmp 0x49a088
mov dword [ebp - 0x6d0], 0x1c
mov eax, dword [ebp - 0x6d0]
mov dword [ebp - 0x6fc], eax
mov ecx, dword [ebp - 0x6cc]
movzx edx, word [ecx]
mov dword [ebp - 0x6e8], edx
cmp dword [ebp - 0x6e8], 2
jne 0x49a15a
mov byte [ebp - 0x61c], 5
mov byte [ebp - 0x61b], 1
mov byte [ebp - 0x61a], 0
mov byte [ebp - 0x619], 1
lea ecx, [ebp - 0x6a8]
call fcn.00439290
mov eax, dword [eax + 8]
mov ecx, dword [eax + 0x364]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x618], edx
lea ecx, [ebp - 0x6a8]
call fcn.00439290
mov eax, dword [eax + 8]
mov ecx, dword [eax + 0x364]
mov dx, word [ecx + 2]
mov word [ebp - 0x614], dx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x1c]
push ecx
mov edx, dword [eax + 0x18]
push edx
push 0xa
lea eax, [ebp - 0x61c]
push eax
lea ecx, [ebp - 0x6a8]
call fcn.00439290
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 0x30]
push edx
mov ecx, dword [ebp - 0x6ac]
call fcn.0049d990
movzx eax, al
test eax, eax
je 0x49a155
lea ecx, [ebp - 0x6a8]
call fcn.00439290
mov ecx, dword [eax + 8]
mov dword [ecx + 0x38], 3
jmp 0x49a1df
mov byte [ebp - 0x640], 5
mov byte [ebp - 0x63f], 1
mov byte [ebp - 0x63e], 0
mov byte [ebp - 0x63d], 4
push 0x10
push 0
lea edx, [ebp - 0x63c]
push edx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
xor eax, eax
mov word [ebp - 0x62c], ax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 0x1c]
push edx
mov eax, dword [ecx + 0x18]
push eax
push 0x16
lea ecx, [ebp - 0x640]
push ecx
lea ecx, [ebp - 0x6a8]
call fcn.00439290
mov edx, dword [eax + 8]
mov eax, dword [edx + 0x30]
push eax
mov ecx, dword [ebp - 0x6ac]
call fcn.0049d990
movzx ecx, al
test ecx, ecx
je 0x49a1df
lea ecx, [ebp - 0x6a8]
call fcn.00439290
mov edx, dword [eax + 8]
mov dword [edx + 0x38], 3
jmp case.default.0x499ca2
cmp dword [ebp + 0xc], 5
jae 0x49a1f4
jmp case.default.0x499ca2
push 0
mov ecx, dword [ebp + 0x10]
add ecx, 0x44
call fcn.00491240
mov dword [ebp - 0x6c0], eax
mov eax, dword [ebp - 0x6c0]
movsx ecx, byte [eax]
cmp ecx, 5
jne 0x49a223
mov edx, dword [ebp - 0x6c0]
movsx eax, byte [edx + 1]
test eax, eax
je 0x49a228
jmp case.default.0x499ca2
mov ecx, dword [ebp - 0x6c0]
movsx edx, byte [ecx + 3]
cmp edx, 1
jne 0x49a379
push 0
mov ecx, dword [ebp + 0x10]
add ecx, 0x44
call fcn.00491240
mov dword [ebp - 0x6f0], eax
push 0x10
push 0
lea eax, [ebp - 0x668]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov ecx, 2
mov word [ebp - 0x668], cx
lea ecx, [ebp - 0x6a8]
call fcn.00439290
mov edx, dword [eax + 8]
mov eax, dword [edx + 0x41]
mov dword [ebp - 0x664], eax
mov ecx, dword [ebp - 0x6f0]
mov dx, word [ecx + 8]
mov word [ebp - 0x666], dx
lea ecx, [ebp - 0x6a8]
call fcn.00439290
mov eax, dword [eax + 8]
mov ecx, dword [eax + 0x5c]
push ecx
lea ecx, [ebp - 0x6a8]
call fcn.00439290
mov edx, dword [eax + 8]
add edx, 0x3d
push edx
lea eax, [ebp - 0x6a4]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx ecx, word [ebp - 0x6a2]
push ecx
call dword [sym.imp.WS2_32.dll_htons]
movzx edx, ax
mov dword [ebp - 0x700], edx
push 0x4c5190
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 0x10
lea eax, [ebp - 0x668]
push eax
lea ecx, [ebp - 0x6a8]
call fcn.00439290
mov ecx, dword [eax + 8]
add ecx, 0x3d
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea ecx, [ebp - 0x6a8]
call fcn.00439290
mov edx, dword [eax + 8]
mov dword [edx + 0x5c], 0x10
lea ecx, [ebp - 0x6a8]
call fcn.00439290
mov eax, dword [eax + 8]
mov ecx, dword [eax + 0x5c]
push ecx
lea ecx, [ebp - 0x6a8]
call fcn.00439290
mov edx, dword [eax + 8]
add edx, 0x3d
push edx
lea eax, [ebp - 0x694]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx ecx, word [ebp - 0x692]
push ecx
call dword [sym.imp.WS2_32.dll_htons]
movzx edx, ax
mov dword [ebp - 0x704], edx
push 0x4c5190
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
jmp 0x49a3f2
mov eax, dword [ebp - 0x6c0]
movsx ecx, byte [eax + 3]
cmp ecx, 4
jne 0x49a3f0
push 0
mov ecx, dword [ebp + 0x10]
add ecx, 0x44
call fcn.00491240
mov dword [ebp - 0x6e4], eax
push 0x1c
push 0
lea edx, [ebp - 0x684]
push edx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, 0x17
mov word [ebp - 0x684], ax
push 0x10
lea ecx, [ebp - 0x6a8]
call fcn.00439290
mov ecx, dword [eax + 8]
add ecx, 0x10
push ecx
lea edx, [ebp - 0x67c]
push edx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x6e4]
mov cx, word [eax + 0x14]
mov word [ebp - 0x682], cx
jmp 0x49a3f2
jmp case.default.0x499ca2
lea ecx, [ebp - 0x6a8]
call fcn.00439290
mov edx, dword [eax + 8]
mov dword [edx + 0x38], 4
lea ecx, [ebp - 0x6a8]
call fcn.00439290
mov eax, dword [eax + 8]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
mov ecx, dword [ebp - 0x6ac]
call fcn.00492840
jmp case.default.0x499ca2
push str.123321
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
cmp dword [ebp + 0xc], 4
jae 0x49a43c
jmp case.default.0x499ca2
lea ecx, [ebp - 0x6a8]
call fcn.00439290
mov eax, dword [eax + 8]
mov dword [eax + 0x38], 4
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x1c]
push ecx
mov edx, dword [eax + 0x18]
push edx
mov ecx, dword [ebp - 0x6ac]
call fcn.0049c080
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70c]
call fcn.00490ae0
push 0x14
push 0
mov eax, dword [ebp + 0x10]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x1c]
push eax
mov ecx, dword [edx + 0x18]
push ecx
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x6ac]
call fcn.0049d690
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