Function at 0x428459
Capabilities:
Send data
Send data on socket

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d4939
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x768
mov eax, dword [0x508068]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 4], 0
cmp byte [0x510408], 0
mov esi, dword [sym.imp.USER32.dll_MessageBoxA]
jne 0x426460
cmp byte [0x5102e0], 0
je 0x426460
push 0
push 0x4f1164
push 0x4f1170
push 0
call esi
lea ecx, [ebx + 8]
call fcn.00444140
cmp word [eax + 4], 0
jne 0x426488
cmp byte [0x5102e0], 0
je 0x426488
push 0
push 0x4f1190
push str.port_dht_short__0
push 0
call esi
mov eax, 2
lea ecx, [ebx + 8]
mov word [ebp - 0x6d0], ax
call fcn.00444140
lea ecx, [ebx + 8]
mov eax, dword [eax]
mov dword [ebp - 0x6cc], eax
call fcn.00444140
lea ecx, [ebx + 8]
mov ax, word [eax + 4]
mov word [ebp - 0x6ce], ax
mov dword [ebp - 0x63c], 0
call fcn.00444140
push eax
lea eax, [ebp - 0x63c]
mov ecx, 0x5102bc
push eax
call fcn.00444790
push 0x5102bc
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x67c]
push dword [0x5102bc]
call fcn.004082e0
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x63c]
cmp eax, dword [ebp - 0x67c]
je 0x42894a
lea ecx, [ebx + 8]
call fcn.00444140
cmp byte [eax + 0x32a], 0
jne 0x426530
mov eax, dword [ebp - 0x63c]
cmp word [eax + 0x2a0], 0
jne 0x42894a
push 0
call fcn.004b59da
mov ecx, dword [ebp - 0x63c]
add esp, 4
mov dword [ecx + 0x298], eax
mov dword [ecx + 0x29c], edx
mov ecx, dword [ebp - 0x63c]
mov dword [ecx + 0x290], eax
mov dword [ecx + 0x294], edx
lea ecx, [ebx + 8]
call fcn.00444140
mov eax, dword [eax + 0x2b8]
sub eax, 0
je 0x427f6b
sub eax, 1
je 0x426938
sub eax, 1
je 0x42659e
push 0
push str.send_dht__
mov edx, str.default_switch_msg_type_dht_
xor ecx, ecx
call fcn.0040d370
add esp, 8
jmp 0x428942
lea ecx, [ebx + 8]
call fcn.00444140
lea ecx, [eax + 0x32c]
call fcn.00406750
mov edx, eax
lea ecx, [ebp - 0x774]
call fcn.0040cfc0
mov esi, eax
lea ecx, [ebx + 8]
mov byte [ebp - 4], 0x48
call fcn.00444140
lea ecx, [ebp - 0x75c]
movzx edx, byte [eax + 0x32a]
call fcn.0040cf50
push eax
mov edx, 0x4f175c
mov byte [ebp - 4], 0x49
lea ecx, [ebp - 0x744]
call fcn.00450d00
push 0x4f1758
mov edx, eax
mov byte [ebp - 4], 0x4a
lea ecx, [ebp - 0x690]
call fcn.00450d60
push esi
mov edx, eax
mov byte [ebp - 4], 0x4b
lea ecx, [ebp - 0x6a8]
call fcn.00451620
push 0x4f1754
mov edx, eax
mov byte [ebp - 4], 0x4c
lea ecx, [ebp - 0x6c0]
call fcn.00450d60
add esp, 0x10
mov esi, eax
lea ecx, [ebx + 8]
mov byte [ebp - 4], 0x4d
call fcn.00444140
add eax, 0x32c
lea ecx, [ebp - 0x714]
push eax
mov edx, esi
call fcn.004515d0
push 0x4f1750
mov edx, eax
mov byte [ebp - 4], 0x4e
lea ecx, [ebp - 0x660]
call fcn.00450d60
add esp, 8
lea ecx, [ebp - 0x714]
call fcn.00406cd0
lea ecx, [ebp - 0x6c0]
call fcn.00406cd0
lea ecx, [ebp - 0x6a8]
call fcn.00406cd0
lea ecx, [ebp - 0x690]
call fcn.00406cd0
lea ecx, [ebp - 0x744]
call fcn.00406cd0
lea ecx, [ebp - 0x75c]
call fcn.00406cd0
lea ecx, [ebp - 0x774]
mov byte [ebp - 4], 0x56
call fcn.00406cd0
lea ecx, [ebp - 0x660]
call fcn.00406750
push eax
lea ecx, [ebp - 0x660]
call fcn.00406b60
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.004aee70
add esp, 0xc
lea ecx, [ebp - 0x660]
call fcn.00406750
lea ecx, [ebx + 8]
mov byte [ebp - 0x6f1], al
call fcn.00444140
lea ecx, [ebp - 0x6e8]
movzx edx, byte [eax + 0x2f0]
call fcn.0040cf50
push eax
mov edx, 0x4f1768
mov byte [ebp - 4], 0x57
lea ecx, [ebp - 0x72c]
call fcn.00450d00
push 0x4f1764
mov edx, eax
mov byte [ebp - 4], 0x58
lea ecx, [ebp - 0x678]
call fcn.00450d60
add esp, 8
lea ecx, [ebp - 0x72c]
call fcn.00406cd0
lea ecx, [ebp - 0x6e8]
mov byte [ebp - 4], 0x5b
call fcn.00406cd0
lea ecx, [ebp - 0x678]
call fcn.00406750
push eax
lea ecx, [ebp - 0x678]
call fcn.00406b60
push eax
movzx eax, byte [ebp - 0x6f1]
lea ecx, [ebp - 0x88]
add eax, ecx
push eax
call fcn.004aee70
add esp, 0xc
lea ecx, [ebp - 0x678]
call fcn.00406750
add byte [ebp - 0x6f1], al
lea ecx, [ebx + 8]
call fcn.00444140
cmp byte [eax + 0x2f0], 0
je 0x4267f7
lea ecx, [ebx + 8]
call fcn.00444140
lea ecx, [ebx + 8]
movzx eax, byte [eax + 0x2f0]
push eax
call fcn.00444140
add eax, 0x2f8
lea ecx, [ebp - 0x88]
push eax
movzx eax, byte [ebp - 0x6f1]
add eax, ecx
push eax
call fcn.004aee70
add esp, 0xc
lea ecx, [ebx + 8]
call fcn.00444140
mov dl, byte [ebp - 0x6f1]
add dl, byte [eax + 0x2f0]
jmp 0x4267fd
mov dl, byte [ebp - 0x6f1]
mov eax, dword [str.1:y1:ee]
movzx ecx, dl
add dl, 7
mov byte [ebp - 0x6f1], dl
mov dword [ebp + ecx - 0x88], eax
mov ax, word [0x4f1770]
mov word [ebp + ecx - 0x84], ax
mov al, byte [0x4f1772]
mov byte [ebp + ecx - 0x82], al
cmp dl, 0x64
jbe 0x426850
push 0
push 0x4f1774
mov edx, str.max_buffer_error_dht
xor ecx, ecx
call fcn.0040d370
mov dl, byte [ebp - 0x6f1]
add esp, 8
push 0x10
lea eax, [ebp - 0x6d0]
movzx esi, dl
push eax
push 0
push esi
lea eax, [ebp - 0x88]
push eax
push dword [0x50e5f0]
call dword [sym.imp.WS2_32.dll_sendto]
lea ecx, [ebp - 0x63c]
call fcn.00406430
lea ecx, [ebp - 0x63c]
mov dword [eax + 0x258], 2
call fcn.00406430
lea ecx, [ebp - 0x63c]
movups xmm0, xmmword [eax + 0x258]
movups xmmword [ebp - 0x688], xmm0
movups xmm0, xmmword [eax + 0x268]
movups xmmword [ebp - 0x6a0], xmm0
movq xmm0, qword [eax + 0x278]
movq qword [ebp - 0x648], xmm0
call fcn.00406430
movups xmm0, xmmword [ebp - 0x688]
add dword [0x50e4e4], esi
lea ecx, [ebx + 8]
movups xmmword [eax + 0x230], xmm0
movups xmm0, xmmword [ebp - 0x6a0]
movups xmmword [eax + 0x240], xmm0
movq xmm0, qword [ebp - 0x648]
movq qword [eax + 0x250], xmm0
call fcn.00444140
lea ecx, [ebx + 8]
mov byte [eax + 0x32a], 0
call fcn.00444140
lea ecx, [eax + 0x32c]
call fcn.00446050
lea ecx, [ebp - 0x678]
call fcn.00406cd0
lea ecx, [ebp - 0x660]
call fcn.00406cd0
jmp 0x428942
lea ecx, [ebx + 8]
call fcn.00444140
mov eax, dword [eax + 0x2bc]
cmp eax, 3
ja case.default.0x42694f
jmp dword [eax*4 + 0x428968]
mov eax, dword [0x4f14e0]
mov ecx, dword [ebp - 0x63c]
movq xmm0, qword [0x4f14e8]
mov dword [ebp - 0x70], eax
movzx eax, word [0x4f14e4]
mov word [ebp - 0x6c], ax
movzx eax, byte [0x4f14e6]
mov byte [ebp - 0x6a], al
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x69], eax
movzx eax, word [ecx + 0x14]
lea ecx, [ebx + 8]
mov word [ebp - 0x65], ax
movzx eax, word [0x4f14f0]
mov word [ebp - 0x5b], ax
movzx eax, byte [0x4f14f2]
movq qword [ebp - 0x63], xmm0
movups xmm0, xmmword [0x51043c]
mov byte [ebp - 0x59], al
mov eax, dword [0x51044c]
movups xmmword [ebp - 0x58], xmm0
mov dword [ebp - 0x48], eax
call fcn.00444140
cmp byte [eax + 0x2f0], 9
jb 0x426ac4
mov edx, dword [ebp - 0x63c]
lea ecx, [ebp - 0x690]
mov edx, dword [edx + 0x10]
call fcn.0040cfc0
push 9
push 0x4f14f4
push 0
lea ecx, [ebp - 0x690]
mov byte [ebp - 4], 0xe
call fcn.00453b70
push eax
lea ecx, [ebp - 0x660]
call fcn.00406d60
lea ecx, [ebx + 8]
mov byte [ebp - 4], 0xf
call fcn.00444140
lea ecx, [ebp - 0x6c0]
movzx edx, byte [eax + 0x2f0]
call fcn.0040cf50
push 0x1c
push 0x4f1500
push 0
lea ecx, [ebp - 0x6c0]
mov byte [ebp - 4], 0x10
call fcn.00453b70
push eax
lea ecx, [ebp - 0x678]
call fcn.00406d60
cmp dword [ebp - 0x64c], 0x10
lea eax, [ebp - 0x660]
lea ecx, [ebp - 0x678]
cmovae eax, dword [ebp - 0x660]
cmp dword [ebp - 0x664], 0x10
cmovae ecx, dword [ebp - 0x678]
cmp byte [0x5102e0], 0
je 0x426a84
push 0
push eax
push ecx
push 0
call esi
lea ecx, [ebp - 0x678]
mov byte [ebp - 4], 0x11
call fcn.00406cd0
lea ecx, [ebp - 0x6c0]
mov byte [ebp - 4], 0x12
call fcn.00406cd0
lea ecx, [ebp - 0x660]
mov byte [ebp - 4], 0x13
call fcn.00406cd0
lea ecx, [ebp - 0x690]
mov byte [ebp - 4], 0x14
call fcn.00406cd0
mov byte [ebp - 4], 0
lea ecx, [ebx + 8]
call fcn.00444140
lea ecx, [ebp - 0x678]
movzx edx, byte [eax + 0x2f0]
call fcn.0040cf50
push 4
push 0x4f1524
push 0
lea ecx, [ebp - 0x678]
mov byte [ebp - 4], 0x15
call fcn.00453b70
push eax
lea ecx, [ebp - 0x6c0]
call fcn.00406d60
push 1
push 0x4f1520
lea ecx, [ebp - 0x6c0]
mov byte [ebp - 4], 0x16
call fcn.00407fd0
push eax
lea ecx, [ebp - 0x6a8]
call fcn.00406d60
lea ecx, [ebp - 0x6c0]
mov byte [ebp - 4], 0x19
call fcn.00406cd0
lea ecx, [ebp - 0x678]
mov byte [ebp - 4], 0x1b
call fcn.00406cd0
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x6a8]
cmp dword [ebp - 0x694], 0x10
cmovae ecx, dword [ebp - 0x6a8]
mov eax, dword [ecx]
mov dword [ebp - 0x44], eax
movzx eax, word [ecx + 4]
lea ecx, [ebx + 8]
mov word [ebp - 0x40], ax
call fcn.00444140
lea ecx, [ebx + 8]
mov esi, eax
call fcn.00444140
movzx ecx, byte [esi + 0x2f0]
add eax, 0x2f8
push ecx
push eax
lea eax, [ebp - 0x3e]
push eax
call fcn.004aee70
add esp, 0xc
lea ecx, [ebx + 8]
call fcn.00444140
push 1
mov dl, byte [eax + 0x2f0]
mov eax, dword [0x4f152c]
add dl, 0x32
movzx ecx, dl
add dl, 7
mov byte [ebp - 0x6f1], dl
mov dword [ebp + ecx - 0x70], eax
movzx eax, word [0x4f1530]
mov word [ebp + ecx - 0x6c], ax
movzx eax, byte [0x4f1532]
mov byte [ebp + ecx - 0x6a], al
call dword [sym.imp.WS2_32.dll_htons]
mov dl, byte [ebp - 0x6f1]
movzx ecx, ax
movzx eax, dl
add dl, 2
mov word [ebp + eax - 0x70], cx
mov eax, dword [0x4f1534]
movzx ecx, dl
mov dword [ebp + ecx - 0x70], eax
movzx eax, word [0x4f1538]
mov word [ebp + ecx - 0x6c], ax
movzx eax, byte [0x4f153a]
add dl, 7
movzx esi, dl
mov byte [ebp + ecx - 0x6a], al
cmp esi, 0x4f
jbe 0x426c38
cmp byte [0x5102e0], 0
je 0x426c38
mov eax, dword [sym.imp.USER32.dll_MessageBoxA]
push 0
push str.send_dht___DHT_RESPONSE_PING
push 0x4f155c
push 0
call eax
push 0x10
lea eax, [ebp - 0x6d0]
push eax
push 0
push esi
lea eax, [ebp - 0x70]
push eax
push dword [0x50e5f0]
call dword [sym.imp.WS2_32.dll_sendto]
mov eax, dword [ebp - 0x63c]
lea ecx, [ebx + 8]
mov dword [eax + 0x178], 1
mov eax, dword [ebp - 0x63c]
mov dword [eax + 0x17c], 0
call fcn.00444140
mov edx, dword [ebp - 0x63c]
add dword [0x50e4e4], esi
mov ecx, dword [eax + 0x2f8]
mov dword [edx + 0x180], ecx
mov eax, dword [eax + 0x2fc]
mov dword [edx + 0x184], eax
mov eax, dword [ebp - 0x63c]
mov byte [eax + 0x188], 0
mov eax, dword [ebp - 0x63c]
mov byte [eax + 0x189], 0
mov eax, dword [ebp - 0x63c]
movups xmm0, xmmword [eax + 0x178]
movups xmmword [eax + 0x240], xmm0
movups xmm0, xmmword [eax + 0x188]
movups xmmword [eax + 0x250], xmm0
movq xmm0, qword [eax + 0x198]
movq qword [eax + 0x260], xmm0
lea ecx, [ebp - 0x6a8]
mov byte [ebp - 4], 0x1c
call fcn.00406cd0
jmp 0x428942
mov eax, dword [0x4f1578]
mov edi, 0x33
mov ecx, dword [ebp - 0x63c]
movq xmm0, qword [0x4f1580]
mov dword [ebp - 0x1c8], eax
movzx eax, word [0x4f157c]
mov word [ebp - 0x1c4], ax
movzx eax, byte [0x4f157e]
mov byte [ebp - 0x1c2], al
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x1c1], eax
movzx eax, word [ecx + 0x14]
lea ecx, [ebp - 0x648]
mov word [ebp - 0x1bd], ax
movzx eax, word [0x4f1588]
mov word [ebp - 0x1b3], ax
movzx eax, byte [0x4f158a]
mov byte [ebp - 0x1b1], al
mov eax, dword [0x51044c]
mov dword [ebp - 0x1a0], eax
mov eax, dword [0x4f158c]
mov dword [ebp - 0x19c], eax
movzx eax, word [0x4f1590]
movq qword [ebp - 0x1bb], xmm0
movups xmm0, xmmword [0x51043c]
mov word [ebp - 0x198], ax
movzx eax, byte [0x4f1592]
mov byte [ebp - 0x196], al
lea eax, [ebp - 0x6f1]
movups xmmword [ebp - 0x1b0], xmm0
push eax
xorps xmm0, xmm0
movlpd qword [ebp - 0x648], xmm0
call fcn.0044f4f0
mov byte [ebp - 4], 0x1d
cmp dword [0x5102a0], 0
je 0x426fca
xorps xmm0, xmm0
mov dword [ebp - 0x3c], 0
xor eax, eax
movlpd qword [ebp - 0x30], xmm0
lea ecx, [ebx + 8]
mov dword [ebp - 0x28], eax
call fcn.00444140
mov ecx, 0x51029c
movups xmm0, xmmword [eax + 0x2c0]
movups xmmword [ebp - 0x70], xmm0
mov eax, dword [eax + 0x2d0]
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x70]
push eax
call fcn.00451e90
mov dword [ebp - 0x640], eax
cmp eax, dword [0x51029c]
je 0x426eda
nop dword [eax]
push dword [ebp - 0x67c]
add eax, 0x10
lea ecx, [ebp - 0x648]
push eax
push 0
lea eax, [ebp - 0x680]
push eax
call fcn.00454160
lea ecx, [ebp - 0x640]
call fcn.00408280
mov ecx, dword [ebp - 0x644]
mov edx, dword [0x51029c]
mov dword [ebp - 0x6f8], ecx
cmp ecx, 7
ja 0x426e7a
mov eax, dword [ebp - 0x640]
cmp eax, edx
jne 0x426e30
cmp ecx, 8
je 0x426ee6
mov eax, dword [edx]
mov dword [ebp - 0x640], eax
cmp eax, edx
je 0x426ee6
nop dword [eax + eax]
push dword [ebp - 0x67c]
add eax, 0x10
lea ecx, [ebp - 0x648]
push eax
push 0
lea eax, [ebp - 0x680]
push eax
call fcn.00454160
lea ecx, [ebp - 0x640]
call fcn.00408280
mov ecx, dword [ebp - 0x644]
mov dword [ebp - 0x6f8], ecx
cmp ecx, 7
ja 0x426ee6
mov eax, dword [ebp - 0x640]
cmp eax, dword [0x51029c]
jne 0x426e90
jmp 0x426ee6
mov ecx, dword [ebp - 0x644]
mov dword [ebp - 0x6f8], ecx
test ecx, ecx
je 0x426fca
imul edx, ecx, 0x1a
lea ecx, [ebp - 0x660]
call fcn.0040cfc0
push 1
push 0x4f1594
lea ecx, [ebp - 0x660]
mov byte [ebp - 4], 0x1e
call fcn.00407fd0
cmp dword [ebp - 0x64c], 0x10
lea eax, [ebp - 0x660]
mov esi, dword [ebp - 0x650]
cmovae eax, dword [ebp - 0x660]
push esi
push eax
lea eax, [ebp - 0x195]
push eax
call fcn.004aee70
mov ecx, dword [ebp - 0x648]
lea edi, [esi + 0x33]
add esp, 0xc
mov eax, dword [ecx]
mov dword [ebp - 0x67c], eax
cmp eax, ecx
je 0x426fa8
nop dword [eax]
nop word [eax + eax]
movups xmm0, xmmword [eax + 0x10]
movups xmmword [ebp + edi - 0x1c8], xmm0
mov ecx, dword [eax + 0x20]
mov dword [ebp + edi - 0x1b8], ecx
mov ecx, dword [eax + 0x28]
mov dword [ebp + edi - 0x1b4], ecx
lea ecx, [ebp - 0x67c]
mov ax, word [eax + 0x2c]
mov word [ebp + edi - 0x1b0], ax
add edi, 0x1a
call fcn.00408280
mov eax, dword [ebp - 0x67c]
cmp eax, dword [ebp - 0x648]
jne 0x426f60
lea ecx, [ebp - 0x660]
mov byte [ebp - 4], 0x1f
call fcn.00406cd0
cmp dword [ebp - 0x6f8], 0
mov byte [ebp - 4], 0x1d
jne 0x426ff4
mov esi, dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [ebx + 8]
call fcn.00444140
cmp byte [eax + 0xc4], 0
je 0x426ff4
cmp byte [0x5102e0], 0
je 0x426ff4
push 0
push str.send_dht___DHT_RESPONSE_FIND_NODE
push str.ok_token_len
push 0
call esi
mov eax, dword [ebp - 0x63c]
mov dword [ebp + edi - 0x1c8], 0x69703a31
add edi, 4
movzx eax, word [eax + 0x14]
push eax
call dword [sym.imp.WS2_32.dll_ntohs]
movzx edx, ax
lea ecx, [ebp - 0x678]
call fcn.0040cf50
mov byte [ebp - 4], 0x20
lea eax, [ebp - 0x678]
cmp dword [ebp - 0x664], 0x10
mov esi, dword [ebp - 0x668]
cmovae eax, dword [ebp - 0x678]
push esi
push eax
lea eax, [ebp - 0x1c8]
add eax, edi
push eax
call fcn.004aee70
movq xmm0, qword [str.ee5:token20:]
lea ecx, [ebp - 0x1bc]
mov eax, dword [0x4f15dc]
add edi, esi
add esp, 0xc
add ecx, edi
movq qword [ebp + edi - 0x1c8], xmm0
mov dword [ebp + edi - 0x1c0], eax
call fcn.0040d430
lea ecx, [ebx + 8]
call fcn.00444140
cmp byte [eax + 0x2f0], 0
jbe 0x4270a4
lea ecx, [ebx + 8]
call fcn.00444140
cmp byte [eax + 0x2f0], 9
jb 0x42719c
mov edx, dword [ebp - 0x63c]
lea ecx, [ebp - 0x714]
mov edx, dword [edx + 0x10]
call fcn.0040cfc0
push 9
push 0x4f15e4
push 0
lea ecx, [ebp - 0x714]
mov byte [ebp - 4], 0x21
call fcn.00453b70
push eax
lea ecx, [ebp - 0x690]
call fcn.00406d60
lea ecx, [ebx + 8]
mov byte [ebp - 4], 0x22
call fcn.00444140
lea ecx, [ebp - 0x6c0]
movzx edx, byte [eax + 0x2f0]
call fcn.0040cf50
push 0x18
push 0x4f15f0
push 0
lea ecx, [ebp - 0x6c0]
mov byte [ebp - 4], 0x23
call fcn.00453b70
push eax
lea ecx, [ebp - 0x660]
call fcn.00406d60
cmp dword [ebp - 0x67c], 0x10
lea eax, [ebp - 0x690]
lea ecx, [ebp - 0x660]
cmovae eax, dword [ebp - 0x690]
cmp dword [ebp - 0x64c], 0x10
cmovae ecx, dword [ebp - 0x660]
cmp byte [0x5102e0], 0
je 0x42715c
push 0
push eax
mov eax, dword [sym.imp.USER32.dll_MessageBoxA]
push ecx
push 0
call eax
lea ecx, [ebp - 0x660]
mov byte [ebp - 4], 0x24
call fcn.00406cd0
lea ecx, [ebp - 0x6c0]
mov byte [ebp - 4], 0x25
call fcn.00406cd0
lea ecx, [ebp - 0x690]
mov byte [ebp - 4], 0x26
call fcn.00406cd0
lea ecx, [ebp - 0x714]
mov byte [ebp - 4], 0x27
call fcn.00406cd0
mov byte [ebp - 4], 0x20
lea ecx, [ebx + 8]
call fcn.00444140
lea ecx, [ebp - 0x6c0]
movzx edx, byte [eax + 0x2f0]
call fcn.0040cf50
push 4
push 0x4f1610
push 0
lea ecx, [ebp - 0x6c0]
mov byte [ebp - 4], 0x28
call fcn.00453b70
push eax
lea ecx, [ebp - 0x714]
call fcn.00406d60
push 1
push 0x4f160c
lea ecx, [ebp - 0x714]
mov byte [ebp - 4], 0x29
call fcn.00407fd0
push eax
lea ecx, [ebp - 0x6a8]
call fcn.00406d60
lea ecx, [ebp - 0x714]
mov byte [ebp - 4], 0x2c
call fcn.00406cd0
lea ecx, [ebp - 0x6c0]
mov byte [ebp - 4], 0x2e
call fcn.00406cd0
mov byte [ebp - 4], 0x2d
lea eax, [ebp - 0x6a8]
cmp dword [ebp - 0x694], 0x10
mov esi, dword [ebp - 0x698]
cmovae eax, dword [ebp - 0x6a8]
push esi
push eax
lea eax, [ebp + edi - 0x1a8]
push eax
call fcn.004aee70
add esp, 0xc
lea ecx, [ebx + 8]
add esi, 0x20
add edi, esi
call fcn.00444140
lea ecx, [ebx + 8]
mov esi, eax
call fcn.00444140
movzx ecx, byte [esi + 0x2f0]
add eax, 0x2f8
push ecx
push eax
lea eax, [ebp - 0x1c8]
add eax, edi
push eax
call fcn.004aee70
add esp, 0xc
lea ecx, [ebx + 8]
call fcn.00444140
push 1
movzx eax, byte [eax + 0x2f0]
add edi, eax
mov eax, dword [0x4f1618]
mov dword [ebp + edi - 0x1c8], eax
movzx eax, word [0x4f161c]
mov word [ebp + edi - 0x1c4], ax
movzx eax, byte [0x4f161e]
mov byte [ebp + edi - 0x1c2], al
call dword [sym.imp.WS2_32.dll_htons]
movzx eax, ax
mov word [ebp + edi - 0x1c1], ax
mov eax, dword [0x4f1620]
mov dword [ebp + edi - 0x1bf], eax
movzx eax, word [0x4f1624]
mov word [ebp + edi - 0x1bb], ax
movzx eax, byte [0x4f1626]
push 0x10
mov byte [ebp + edi - 0x1b9], al
lea eax, [ebp - 0x6d0]
push eax
push 0
add edi, 0x10
lea eax, [ebp - 0x1c8]
push edi
push eax
push dword [0x50e5f0]
call dword [sym.imp.WS2_32.dll_sendto]
mov eax, dword [ebp - 0x63c]
lea ecx, [ebx + 8]
mov dword [eax + 0x1a0], 1
mov eax, dword [ebp - 0x63c]
mov dword [eax + 0x1a4], 1
call fcn.00444140
mov edx, dword [ebp - 0x63c]
add dword [0x50e4e4], edi
mov ecx, dword [eax + 0x2f8]
mov dword [edx + 0x1a8], ecx
mov eax, dword [eax + 0x2fc]
mov dword [edx + 0x1ac], eax
mov eax, dword [ebp - 0x63c]
mov byte [eax + 0x1b0], 0
mov eax, dword [ebp - 0x63c]
mov byte [eax + 0x1b1], 0
mov eax, dword [ebp - 0x63c]
movups xmm0, xmmword [eax + 0x1a0]
movups xmmword [eax + 0x240], xmm0
movups xmm0, xmmword [eax + 0x1b0]
movups xmmword [eax + 0x250], xmm0
movq xmm0, qword [eax + 0x1c0]
movq qword [eax + 0x260], xmm0
lea ecx, [ebp - 0x6a8]
mov byte [ebp - 4], 0x2f
call fcn.00406cd0
lea ecx, [ebp - 0x678]
mov byte [ebp - 4], 0x30
call fcn.00406cd0
lea ecx, [ebp - 0x648]
call fcn.0040d320
jmp 0x428942
mov eax, dword [0x4f1628]
mov edi, 0x33
mov ecx, dword [ebp - 0x63c]
movq xmm0, qword [0x4f1630]
mov dword [ebp - 0x638], eax
movzx eax, word [0x4f162c]
mov word [ebp - 0x634], ax
movzx eax, byte [0x4f162e]
mov byte [ebp - 0x632], al
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x631], eax
movzx eax, word [ecx + 0x14]
lea ecx, [ebp - 0x648]
mov word [ebp - 0x62d], ax
movzx eax, word [0x4f1638]
mov word [ebp - 0x623], ax
movzx eax, byte [0x4f163a]
mov byte [ebp - 0x621], al
mov eax, dword [0x51044c]
mov dword [ebp - 0x610], eax
mov eax, dword [0x4f163c]
mov dword [ebp - 0x60c], eax
movzx eax, word [0x4f1640]
movq qword [ebp - 0x62b], xmm0
movups xmm0, xmmword [0x51043c]
mov word [ebp - 0x608], ax
movzx eax, byte [0x4f1642]
mov byte [ebp - 0x606], al
lea eax, [ebp - 0x6f9]
movups xmmword [ebp - 0x620], xmm0
push eax
xorps xmm0, xmm0
movlpd qword [ebp - 0x648], xmm0
call fcn.0044f4f0
mov byte [ebp - 4], 0x31
cmp dword [0x5102a0], 0
jne 0x4274c6
mov dword [ebp - 0x6f8], 0
jmp 0x4276d4
xorps xmm0, xmm0
mov dword [ebp - 0x3c], 0
xor eax, eax
movlpd qword [ebp - 0x30], xmm0
lea ecx, [ebx + 8]
mov dword [ebp - 0x28], eax
call fcn.00444140
mov ecx, 0x51029c
movups xmm0, xmmword [eax + 0x2c0]
movups xmmword [ebp - 0x70], xmm0
mov eax, dword [eax + 0x2d0]
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x70]
push eax
mov dword [ebp - 0x640], 0
call fcn.00451e90
push 0x51029c
push eax
lea ecx, [ebp - 0x640]
call fcn.004082e0
mov eax, dword [ebp - 0x640]
cmp eax, dword [0x51029c]
je 0x4275e6
mov esi, dword [ebp - 0x67c]
nop word [eax + eax]
push esi
add eax, 0x10
lea ecx, [ebp - 0x648]
push eax
push 0
lea eax, [ebp - 0x680]
push eax
call fcn.00454160
lea ecx, [ebp - 0x640]
call fcn.00408280
mov edi, dword [ebp - 0x644]
mov ecx, dword [0x51029c]
mov dword [ebp - 0x6f8], edi
cmp edi, 7
ja 0x427585
mov eax, dword [ebp - 0x640]
cmp eax, ecx
jne 0x427540
cmp edi, 8
mov edi, 0x33
je 0x4275f4
mov eax, dword [ecx]
mov dword [ebp - 0x640], eax
cmp eax, ecx
je 0x4275f4
mov esi, dword [ebp - 0x67c]
push esi
add eax, 0x10
lea ecx, [ebp - 0x648]
push eax
push 0
lea eax, [ebp - 0x680]
push eax
call fcn.00454160
lea ecx, [ebp - 0x640]
call fcn.00408280
mov ecx, dword [ebp - 0x644]
mov dword [ebp - 0x6f8], ecx
cmp ecx, 7
ja 0x4275fa
mov eax, dword [ebp - 0x640]
cmp eax, dword [0x51029c]
jne 0x4275a1
jmp 0x4275fa
mov ecx, dword [ebp - 0x644]
mov dword [ebp - 0x6f8], ecx
jmp 0x4275fa
mov ecx, dword [ebp - 0x6f8]
test ecx, ecx
jne 0x427609
mov dword [ebp - 0x6f8], ecx
jmp 0x4276d4
imul edx, ecx, 0x1a
lea ecx, [ebp - 0x660]
call fcn.0040cfc0
push 1
push 0x4f1644
lea ecx, [ebp - 0x660]
mov byte [ebp - 4], 0x32
call fcn.00407fd0
cmp dword [ebp - 0x64c], 0x10
lea eax, [ebp - 0x660]
mov esi, dword [ebp - 0x650]
cmovae eax, dword [ebp - 0x660]
push esi
push eax
lea eax, [ebp - 0x605]
push eax
call fcn.004aee70
mov ecx, dword [ebp - 0x648]
lea edi, [esi + 0x33]
add esp, 0xc
mov eax, dword [ecx]
mov dword [ebp - 0x67c], eax
cmp eax, ecx
je 0x4276b8
nop dword [eax]
movups xmm0, xmmword [eax + 0x10]
movups xmmword [ebp + edi - 0x638], xmm0
mov ecx, dword [eax + 0x20]
mov dword [ebp + edi - 0x628], ecx
mov ecx, dword [eax + 0x28]
mov dword [ebp + edi - 0x624], ecx
lea ecx, [ebp - 0x67c]
mov ax, word [eax + 0x2c]
mov word [ebp + edi - 0x620], ax
add edi, 0x1a
call fcn.00408280
mov eax, dword [ebp - 0x67c]
cmp eax, dword [ebp - 0x648]
jne 0x427670
lea ecx, [ebp - 0x660]
mov byte [ebp - 4], 0x33
call fcn.00406cd0
cmp dword [ebp - 0x6f8], 0
mov byte [ebp - 4], 0x31
jne 0x4276f5
mov eax, 0x3a30
lea ecx, [ebp - 0x636]
mov word [ebp + edi - 0x638], ax
lea edx, [ebp - 0x62c]
lea esi, [edi + 0x20]
jmp 0x42777b
mov eax, dword [ebp - 0x63c]
mov dword [ebp + edi - 0x638], 0x69703a31
add edi, 4
movzx eax, word [eax + 0x14]
push eax
call dword [sym.imp.WS2_32.dll_ntohs]
movzx edx, ax
lea ecx, [ebp - 0x678]
call fcn.0040cf50
cmp dword [ebp - 0x664], 0x10
lea eax, [ebp - 0x678]
mov esi, dword [ebp - 0x668]
cmovae eax, dword [ebp - 0x678]
push esi
push eax
lea eax, [ebp - 0x638]
add eax, edi
push eax
call fcn.004aee70
add edi, esi
add esp, 0xc
mov byte [ebp + edi - 0x638], 0x65
lea ecx, [ebp - 0x678]
mov byte [ebp - 4], 0x34
call fcn.00406cd0
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0x637]
lea edx, [ebp - 0x62d]
lea esi, [edi + 0x1f]
movq xmm0, qword [str.5:token20:]
add ecx, edi
mov ax, word [0x4f1660]
add edx, edi
movq qword [ecx], xmm0
mov word [ecx + 8], ax
mov ecx, edx
call fcn.0040d430
cmp dword [ebp - 0x6f8], 0
mov edi, esi
je 0x4278d7
lea eax, [ebp - 0x6fa]
push eax
lea ecx, [ebp - 0x6d8]
call fcn.0044f5a0
lea ecx, [ebx + 8]
mov byte [ebp - 4], 0x35
call fcn.00444140
mov ecx, 0x510530
movups xmm0, xmmword [eax + 0x2c0]
movups xmmword [ebp - 0x6f0], xmm0
mov eax, dword [eax + 0x2d0]
mov dword [ebp - 0x6e0], eax
lea eax, [ebp - 0x6f0]
push eax
lea eax, [ebp - 0x640]
mov dword [ebp - 0x640], 0
push eax
call fcn.00443ec0
mov ecx, dword [ebp - 0x640]
cmp ecx, dword [0x510530]
je 0x4278b9
cmp dword [ecx + 0x2c], 0
je 0x4278b9
movq xmm0, qword [str.6:valuesl]
lea edi, [esi + 9]
mov al, byte [0x4f166c]
xor dl, dl
movq qword [ebp + esi - 0x638], xmm0
mov byte [ebp + esi - 0x630], al
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [ebp - 0x67c], eax
cmp eax, dword [ecx + 0x28]
je 0x4278b0
mov esi, 0x3a36
nop dword [eax + eax]
mov word [ebp + edi - 0x638], si
inc dl
mov ecx, dword [eax + 0x10]
mov dword [ebp + edi - 0x636], ecx
mov ax, word [eax + 0x14]
mov word [ebp + edi - 0x632], ax
add edi, 8
mov byte [ebp - 0x6f1], dl
cmp dl, 0x63
ja 0x4278b0
lea ecx, [ebp - 0x67c]
call fcn.00408280
mov ecx, dword [ebp - 0x640]
mov eax, dword [ebp - 0x67c]
mov dl, byte [ebp - 0x6f1]
cmp eax, dword [ecx + 0x28]
jne 0x427860
mov byte [ebp + edi - 0x638], 0x65
inc edi
lea ecx, [ebp - 0x6d8]
mov byte [ebp - 4], 0x36
call fcn.0044c4b0
lea ecx, [ebp - 0x6d8]
call fcn.00449d10
mov byte [ebp - 4], 0x31
lea ecx, [ebx + 8]
call fcn.00444140
cmp byte [eax + 0x2f0], 0
jbe 0x4278fd
lea ecx, [ebx + 8]
call fcn.00444140
cmp byte [eax + 0x2f0], 9
jb 0x4279f5
mov edx, dword [ebp - 0x63c]
lea ecx, [ebp - 0x6a8]
mov edx, dword [edx + 0x10]
call fcn.0040cfc0
push 9
push str.ip_long:
push 0
lea ecx, [ebp - 0x6a8]
mov byte [ebp - 4], 0x37
call fcn.00453b70
push eax
lea ecx, [ebp - 0x660]
call fcn.00406d60
lea ecx, [ebx + 8]
mov byte [ebp - 4], 0x38
call fcn.00444140
lea ecx, [ebp - 0x714]
movzx edx, byte [eax + 0x2f0]
call fcn.0040cf50
push 0x18
push 0x4f1684
push 0
lea ecx, [ebp - 0x714]
mov byte [ebp - 4], 0x39
call fcn.00453b70
push eax
lea ecx, [ebp - 0x678]
call fcn.00406d60
cmp dword [ebp - 0x64c], 0x10
lea eax, [ebp - 0x660]
lea ecx, [ebp - 0x678]
cmovae eax, dword [ebp - 0x660]
cmp dword [ebp - 0x664], 0x10
cmovae ecx, dword [ebp - 0x678]
cmp byte [0x5102e0], 0
je 0x4279b5
push 0
push eax
mov eax, dword [sym.imp.USER32.dll_MessageBoxA]
push ecx
push 0
call eax
lea ecx, [ebp - 0x678]
mov byte [ebp - 4], 0x3a
call fcn.00406cd0
lea ecx, [ebp - 0x714]
mov byte [ebp - 4], 0x3b
call fcn.00406cd0
lea ecx, [ebp - 0x660]
mov byte [ebp - 4], 0x3c
call fcn.00406cd0
lea ecx, [ebp - 0x6a8]
mov byte [ebp - 4], 0x3d
call fcn.00406cd0
mov byte [ebp - 4], 0x31
lea ecx, [ebx + 8]
call fcn.00444140
lea ecx, [ebp - 0x678]
movzx edx, byte [eax + 0x2f0]
call fcn.0040cf50
push 4
push 0x4f16a4
push 0
lea ecx, [ebp - 0x678]
mov byte [ebp - 4], 0x3e
call fcn.00453b70
push eax
lea ecx, [ebp - 0x714]
call fcn.00406d60
push 1
push 0x4f16a0
lea ecx, [ebp - 0x714]
mov byte [ebp - 4], 0x3f
call fcn.00407fd0
push eax
lea ecx, [ebp - 0x6c0]
call fcn.00406d60
lea ecx, [ebp - 0x714]
call fcn.00406cd0
lea ecx, [ebp - 0x678]
mov byte [ebp - 4], 0x42
call fcn.00406cd0
lea ecx, [ebp - 0x6c0]
call fcn.00406750
push eax
lea ecx, [ebp - 0x6c0]
call fcn.00406b60
push eax
lea eax, [ebp - 0x638]
add eax, edi
push eax
call fcn.004aee70
add esp, 0xc
lea ecx, [ebp - 0x6c0]
call fcn.00406750
lea ecx, [ebx + 8]
add edi, eax
call fcn.00444140
lea ecx, [ebx + 8]
movzx eax, byte [eax + 0x2f0]
push eax
call fcn.00444140
add eax, 0x2f8
push eax
lea eax, [ebp - 0x638]
add eax, edi
push eax
call fcn.004aee70
add esp, 0xc
lea ecx, [ebx + 8]
call fcn.00444140
push 1
movzx eax, byte [eax + 0x2f0]
add edi, eax
mov eax, dword [0x4f16ac]
mov dword [ebp + edi - 0x638], eax
movzx eax, word [0x4f16b0]
mov word [ebp + edi - 0x634], ax
movzx eax, byte [0x4f16b2]
mov byte [ebp + edi - 0x632], al
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp + edi - 0x631], ax
mov eax, dword [0x4f16b4]
mov dword [ebp + edi - 0x62f], eax
movzx eax, word [0x4f16b8]
mov word [ebp + edi - 0x62b], ax
movzx eax, byte [0x4f16ba]
mov byte [ebp + edi - 0x629], al
add edi, 0x10
push 0x10
lea eax, [ebp - 0x6d0]
push eax
push 0
push edi
lea eax, [ebp - 0x638]
push eax
push dword [0x50e5f0]
call dword [sym.imp.WS2_32.dll_sendto]
lea ecx, [ebp - 0x63c]
call fcn.00406430
lea ecx, [ebp - 0x63c]
mov dword [eax + 0x1b8], 1
call fcn.00406430
lea ecx, [ebx + 8]
mov dword [eax + 0x1bc], 2
call fcn.00444140
lea ecx, [ebp - 0x63c]
lea esi, [eax + 0x2f8]
call fcn.00406430
lea ecx, [eax + 0x1c0]
mov eax, dword [esi]
mov dword [ecx], eax
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
lea ecx, [ebp - 0x63c]
call fcn.00406430
lea ecx, [ebp - 0x63c]
mov byte [eax + 0x1c8], 0
call fcn.00406430
lea ecx, [ebp - 0x63c]
mov byte [eax + 0x1c9], 0
call fcn.00406430
lea ecx, [ebp - 0x63c]
movups xmm0, xmmword [eax + 0x1b8]
movups xmmword [ebp - 0x6a0], xmm0
movups xmm0, xmmword [eax + 0x1c8]
movups xmmword [ebp - 0x658], xmm0
movq xmm0, qword [eax + 0x1d8]
movq qword [ebp - 0x680], xmm0
call fcn.00406430
movups xmm0, xmmword [ebp - 0x6a0]
add dword [0x50e4e4], edi
lea ecx, [ebp - 0x6c0]
movups xmmword [eax + 0x230], xmm0
movups xmm0, xmmword [ebp - 0x658]
movups xmmword [eax + 0x240], xmm0
movq xmm0, qword [ebp - 0x680]
movq qword [eax + 0x250], xmm0
call fcn.00406cd0
lea ecx, [ebp - 0x648]
call fcn.0040d320
jmp 0x428942
mov eax, dword [str.d2:ip6:]
lea ecx, [ebp - 0x63c]
mov dword [ebp - 0x88], eax
movzx eax, word [0x4f16c0]
mov word [ebp - 0x84], ax
movzx eax, byte [0x4f16c2]
mov byte [ebp - 0x82], al
call fcn.00406430
lea ecx, [ebp - 0x63c]
mov eax, dword [eax]
mov dword [ebp - 0x81], eax
call fcn.00406430
movq xmm0, qword [str.1:rd2:id20:]
lea ecx, [ebx + 8]
movzx eax, word [eax + 4]
mov word [ebp - 0x7d], ax
movzx eax, word [0x4f16cc]
mov word [ebp - 0x73], ax
movzx eax, byte [0x4f16ce]
movq qword [ebp - 0x7b], xmm0
movups xmm0, xmmword [0x51043c]
mov byte [ebp - 0x71], al
mov eax, dword [0x51044c]
movups xmmword [ebp - 0x70], xmm0
mov dword [ebp - 0x60], eax
call fcn.00444140
lea ecx, [ebp - 0x72c]
movzx edx, byte [eax + 0x2f0]
call fcn.0040cf50
push eax
mov edx, str.e1:t
mov byte [ebp - 4], 0x43
lea ecx, [ebp - 0x6e8]
call fcn.00450d00
push 0x4f16d0
mov edx, eax
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0x6c0]
call fcn.00450d60
add esp, 8
lea ecx, [ebp - 0x6e8]
call fcn.00406cd0
lea ecx, [ebp - 0x72c]
mov byte [ebp - 4], 0x47
call fcn.00406cd0
lea ecx, [ebp - 0x6c0]
call fcn.00406750
push eax
lea ecx, [ebp - 0x6c0]
call fcn.00406b60
push eax
lea eax, [ebp - 0x5c]
push eax
call fcn.004aee70
add esp, 0xc
lea ecx, [ebp - 0x6c0]
call fcn.00406750
lea ecx, [ebx + 8]
lea esi, [eax + 0x2c]
call fcn.00444140
movzx ecx, byte [eax + 0x2f0]
push ecx
lea ecx, [ebx + 8]
call fcn.00444140
add eax, 0x2f8
push eax
lea eax, [ebp - 0x88]
add eax, esi
push eax
call fcn.004aee70
add esp, 0xc
lea ecx, [ebx + 8]
call fcn.00444140
movzx eax, byte [eax + 0x2f0]
add esi, eax
mov eax, dword [str.1:v4:BY]
mov dword [ebp + esi - 0x88], eax
movzx eax, word [0x4f16e0]
mov word [ebp + esi - 0x84], ax
movzx eax, byte [0x4f16e2]
push 1
mov byte [ebp + esi - 0x82], al
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp + esi - 0x81], ax
lea edi, [esi + 0x10]
mov eax, dword [str.1:y1:re]
mov dword [ebp + esi - 0x7f], eax
movzx eax, word [0x4f16e8]
mov word [ebp + esi - 0x7b], ax
movzx eax, byte [0x4f16ea]
push 0x10
mov byte [ebp + esi - 0x79], al
lea eax, [ebp - 0x6d0]
push eax
push 0
push edi
lea eax, [ebp - 0x88]
push eax
push dword [0x50e5f0]
call dword [sym.imp.WS2_32.dll_sendto]
lea ecx, [ebp - 0x63c]
call fcn.00406430
lea ecx, [ebp - 0x63c]
mov dword [eax + 0x1e0], 1
call fcn.00406430
lea ecx, [ebx + 8]
mov dword [eax + 0x1e4], 3
call fcn.00444140
lea ecx, [ebp - 0x63c]
lea esi, [eax + 0x2f8]
call fcn.00406430
lea ecx, [eax + 0x1e8]
mov eax, dword [esi]
mov dword [ecx], eax
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
lea ecx, [ebp - 0x63c]
call fcn.00406430
lea ecx, [ebp - 0x63c]
mov byte [eax + 0x1f0], 0
call fcn.00406430
lea ecx, [ebp - 0x63c]
mov byte [eax + 0x1f1], 0
call fcn.00406430
lea ecx, [ebp - 0x63c]
movups xmm0, xmmword [eax + 0x1e0]
movups xmmword [ebp - 0x658], xmm0
movups xmm0, xmmword [eax + 0x1f0]
movups xmmword [ebp - 0x6a0], xmm0
movq xmm0, qword [eax + 0x200]
movq qword [ebp - 0x648], xmm0
call fcn.00406430
movups xmm0, xmmword [ebp - 0x658]
add dword [0x50e4e4], edi
mov edx, 0x4f16f8
push 0
movups xmmword [eax + 0x230], xmm0
push 0x4f16ec
movups xmm0, xmmword [ebp - 0x6a0]
xor ecx, ecx
movups xmmword [eax + 0x240], xmm0
movq xmm0, qword [ebp - 0x648]
movq qword [eax + 0x250], xmm0
call fcn.0040d370
add esp, 8
lea ecx, [ebp - 0x6c0]
call fcn.00406cd0
jmp 0x428942
push 0
push 0x4f1720
mov edx, str.DHT_RESPONSE_error_query_type_dht
xor ecx, ecx
call fcn.0040d370
add esp, 8
jmp 0x428942
lea ecx, [ebx + 8]
call fcn.00444140
mov eax, dword [eax + 0x2bc]
cmp eax, 3
ja case.default.0x427f82
jmp dword [eax*4 + 0x428978]
mov eax, dword [0x4f11b8]
movq xmm0, qword [0x4f11b0]
mov dword [ebp - 0x60], eax
mov eax, dword [0x51044c]
mov dword [ebp - 0x4c], eax
mov eax, dword [0x4f11c8]
movq qword [ebp - 0x68], xmm0
movups xmm0, xmmword [0x51043c]
mov dword [ebp - 0x40], eax
movzx eax, word [0x4f11cc]
movups xmmword [ebp - 0x5c], xmm0
mov word [ebp - 0x3c], ax
movq xmm0, qword [str.e1:q4:ping1:t4:]
movzx eax, byte [0x4f11ce]
movq qword [ebp - 0x48], xmm0
mov byte [ebp - 0x3a], al
call fcn.004b5e13
mov word [ebp - 0x39], ax
call fcn.004b5e13
mov word [ebp - 0x37], ax
mov eax, dword [0x4f11d0]
mov dword [ebp - 0x35], eax
movzx eax, word [0x4f11d4]
mov word [ebp - 0x31], ax
movzx eax, byte [0x4f11d6]
push 1
mov byte [ebp - 0x2f], al
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x2e], ax
mov eax, dword [0x4f11d8]
mov dword [ebp - 0x2c], eax
movzx eax, word [0x4f11dc]
mov word [ebp - 0x28], ax
movzx eax, byte [0x4f11de]
push 0x10
mov byte [ebp - 0x26], al
lea eax, [ebp - 0x6d0]
push eax
push 0
push 0x43
lea eax, [ebp - 0x68]
push eax
push dword [0x50e5f0]
call dword [sym.imp.WS2_32.dll_sendto]
mov eax, dword [ebp - 0x63c]
add dword [0x50e4e4], 0x43
mov dword [eax + 0xd8], 0
mov eax, dword [ebp - 0x63c]
mov dword [eax + 0xdc], 0
mov ecx, dword [ebp - 0x63c]
mov eax, dword [ebp - 0x39]
mov dword [ecx + 0xe0], eax
mov dword [ecx + 0xe4], 0
mov eax, dword [ebp - 0x63c]
mov byte [eax + 0xe8], 0
mov eax, dword [ebp - 0x63c]
mov byte [eax + 0xe9], 0
mov eax, dword [ebp - 0x63c]
movups xmm0, xmmword [eax + 0xd8]
movups xmmword [eax + 0x218], xmm0
movups xmm0, xmmword [eax + 0xe8]
movups xmmword [eax + 0x228], xmm0
movq xmm0, qword [eax + 0xf8]
movq qword [eax + 0x238], xmm0
jmp 0x428942
movq xmm0, qword [0x4f121c]
lea ecx, [ebx + 8]
mov eax, dword [0x4f1224]
movq qword [ebp - 0x88], xmm0
movups xmm0, xmmword [0x51043c]
mov dword [ebp - 0x80], eax
mov eax, dword [0x51044c]
mov dword [ebp - 0x6c], eax
mov eax, dword [0x4f1234]
movups xmmword [ebp - 0x7c], xmm0
mov dword [ebp - 0x60], eax
movq xmm0, qword [str.6:target20:]
movzx eax, word [str.e1:q9:find_node1:t4:]
movq qword [ebp - 0x68], xmm0
mov word [ebp - 0x5c], ax
call fcn.00444140
movups xmm0, xmmword [eax + 0x2c0]
movups xmmword [ebp - 0x5d], xmm0
mov eax, dword [eax + 0x2d0]
movups xmm0, xmmword [str.e1:q9:find_node1:t4:]
mov dword [ebp - 0x4d], eax
mov eax, dword [0x4f1248]
movups xmmword [ebp - 0x49], xmm0
mov dword [ebp - 0x39], eax
call fcn.004b5e13
push 1
mov word [ebp - 0x33], 0
movd xmm0, eax
mov eax, dword [0x4f1250]
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x31], eax
movzx eax, word [0x4f1254]
mov word [ebp - 0x2d], ax
movzx eax, byte [0x4f1256]
mov byte [ebp - 0x2b], al
mulsd xmm0, qword [0x4fcfb8]
mulsd xmm0, qword [0x4fd030]
addsd xmm0, qword [0x4fcfe8]
cvttsd2si esi, xmm0
mov word [ebp - 0x35], si
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x2a], ax
mov eax, dword [0x4f1258]
mov dword [ebp - 0x28], eax
movzx eax, word [0x4f125c]
mov word [ebp - 0x24], ax
movzx eax, byte [0x4f125e]
push 0x10
mov byte [ebp - 0x22], al
lea eax, [ebp - 0x6d0]
push eax
push 0
push 0x67
lea eax, [ebp - 0x88]
push eax
push dword [0x50e5f0]
call dword [sym.imp.WS2_32.dll_sendto]
mov eax, dword [ebp - 0x63c]
mov dword [eax + 0x100], 0
mov eax, dword [ebp - 0x63c]
mov dword [eax + 0x104], 1
mov ecx, dword [ebp - 0x63c]
movzx eax, si
cdq
mov dword [ecx + 0x108], eax
mov dword [ecx + 0x10c], edx
lea ecx, [ebx + 8]
mov eax, dword [ebp - 0x63c]
mov byte [eax + 0x111], 1
call fcn.00444140
mov ecx, dword [ebp - 0x63c]
movups xmm0, xmmword [eax + 0x2c0]
movups xmmword [ecx + 0x112], xmm0
mov eax, dword [eax + 0x2d0]
mov dword [ecx + 0x122], eax
mov eax, dword [ebp - 0x63c]
movups xmm0, xmmword [eax + 0x100]
movups xmmword [eax + 0x218], xmm0
movups xmm0, xmmword [eax + 0x110]
movups xmmword [eax + 0x228], xmm0
movq xmm0, qword [eax + 0x120]
add dword [0x50e4e4], 0x67
movq qword [eax + 0x238], xmm0
jmp 0x428942
movq xmm0, qword [0x4f129c]
lea ecx, [ebx + 8]
mov eax, dword [0x4f12a4]
movq qword [ebp - 0x88], xmm0
movups xmm0, xmmword [0x51043c]
mov dword [ebp - 0x80], eax
mov eax, dword [0x51044c]
mov dword [ebp - 0x6c], eax
mov eax, dword [0x4f12b4]
movups xmmword [ebp - 0x7c], xmm0
mov dword [ebp - 0x60], eax
movq xmm0, qword [str.9:info_hash20:]
movzx eax, word [0x4f12b8]
movq qword [ebp - 0x68], xmm0
mov word [ebp - 0x5c], ax
call fcn.00444140
movups xmm0, xmmword [eax + 0x2c0]
movups xmmword [ebp - 0x5a], xmm0
mov eax, dword [eax + 0x2d0]
movups xmm0, xmmword [str.e1:q9:get_peers1:t4:]
mov dword [ebp - 0x4a], eax
mov eax, dword [0x4f12cc]
movups xmmword [ebp - 0x46], xmm0
mov dword [ebp - 0x36], eax
call fcn.004b5e13
push 1
mov word [ebp - 0x30], 0
movd xmm0, eax
mov eax, dword [0x4f12d4]
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x2e], eax
movzx eax, word [0x4f12d8]
mov word [ebp - 0x2a], ax
movzx eax, byte [0x4f12da]
mov byte [ebp - 0x28], al
mulsd xmm0, qword [0x4fcfb8]
mulsd xmm0, qword [0x4fd030]
addsd xmm0, qword [0x4fcfe8]
cvttsd2si esi, xmm0
mov word [ebp - 0x32], si
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x27], ax
mov eax, dword [0x4f12dc]
mov dword [ebp - 0x25], eax
movzx eax, word [0x4f12e0]
mov word [ebp - 0x21], ax
movzx eax, byte [0x4f12e2]
push 0x10
mov byte [ebp - 0x1f], al
lea eax, [ebp - 0x6d0]
push eax
push 0
push 0x6a
lea eax, [ebp - 0x88]
push eax
push dword [0x50e5f0]
call dword [sym.imp.WS2_32.dll_sendto]
mov eax, dword [ebp - 0x63c]
mov dword [eax + 0x128], 0
mov eax, dword [ebp - 0x63c]
mov dword [eax + 0x12c], 2
mov ecx, dword [ebp - 0x63c]
movzx eax, si
cdq
mov dword [ecx + 0x130], eax
mov dword [ecx + 0x134], edx
lea ecx, [ebx + 8]
mov eax, dword [ebp - 0x63c]
mov byte [eax + 0x139], 1
call fcn.00444140
mov ecx, dword [ebp - 0x63c]
movups xmm0, xmmword [eax + 0x2c0]
movups xmmword [ecx + 0x13a], xmm0
mov eax, dword [eax + 0x2d0]
mov dword [ecx + 0x14a], eax
mov eax, dword [ebp - 0x63c]
movups xmm0, xmmword [eax + 0x128]
movups xmmword [eax + 0x218], xmm0
movups xmm0, xmmword [eax + 0x138]
movups xmmword [eax + 0x228], xmm0
movq xmm0, qword [eax + 0x148]
add dword [0x50e4e4], 0x6a
movq qword [eax + 0x238], xmm0
jmp 0x428942
lea ecx, [ebx + 8]
call fcn.00444140
cmp dword [eax + 0x2e8], 0
jne 0x428483
cmp byte [0x5102e0], 0
je 0x428483
push 0
push 0x4f1320
push 0x4f133c
push 0
call esi
lea ecx, [ebx + 8]
call fcn.00444140
add eax, 0x2d8
cmp dword [eax + 0x14], 8
jb 0x428498
mov eax, dword [eax]
push 0
push 0
push 0xdc
lea ecx, [ebp - 0x168]
push ecx
push 0xffffffffffffffff
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov edi, eax
test edi, edi
jne 0x4284d1
cmp byte [0x5102e0], al
je 0x4284d1
push eax
push 0x4f1350
push str.name_symbols__0
push eax
call esi
lea eax, [edi + 0xbd]
cmp eax, 0x190
jle 0x4284f7
cmp byte [0x5102e0], 0
je 0x4284f7
push 0
push str.send_dht___ANNOUNCE_PEER
push 0x4f139c
push 0
call esi
movq xmm0, qword [str.d1:ad2:id20:]
lea ecx, [ebx + 8]
mov eax, dword [0x4f13c0]
movq qword [ebp - 0x378], xmm0
movups xmm0, xmmword [0x51043c]
mov dword [ebp - 0x370], eax
mov eax, dword [0x51044c]
movups xmmword [ebp - 0x36c], xmm0
mov dword [ebp - 0x35c], eax
movups xmm0, xmmword [str.12:implied_porti]
movups xmmword [ebp - 0x358], xmm0
movups xmm0, xmmword [str.1e9:info_hash20:]
movups xmmword [ebp - 0x348], xmm0
call fcn.00444140
lea edx, [edi - 1]
lea ecx, [ebp - 0x714]
movups xmm0, xmmword [eax + 0x2c0]
movups xmmword [ebp - 0x338], xmm0
mov eax, dword [eax + 0x2d0]
mov dword [ebp - 0x328], eax
mov eax, dword [0x4f13f0]
mov dword [ebp - 0x324], eax
movzx eax, word [0x4f13f4]
mov word [ebp - 0x320], ax
call fcn.0040cf50
push 1
push 0x4f13f8
lea ecx, [ebp - 0x714]
mov byte [ebp - 4], 5
call fcn.00407fd0
push eax
lea ecx, [ebp - 0x6a8]
call fcn.00406d60
lea ecx, [ebp - 0x714]
mov byte [ebp - 4], 8
call fcn.00406cd0
mov byte [ebp - 4], 7
lea eax, [ebp - 0x6a8]
cmp dword [ebp - 0x694], 0x10
mov esi, dword [ebp - 0x698]
cmovae eax, dword [ebp - 0x6a8]
push esi
push eax
lea eax, [ebp - 0x31e]
push eax
call fcn.004aee70
lea eax, [edi - 1]
push eax
lea eax, [ebp - 0x168]
push eax
lea eax, [ebp + esi - 0x31e]
push eax
call fcn.004aee70
mov eax, dword [str.4:porti]
lea ecx, [ebp - 0x660]
mov edx, dword [0x510368]
add esi, 0x5a
add edi, esi
mov dword [ebp + edi - 0x379], eax
movzx eax, word [0x4f1400]
mov word [ebp + edi - 0x375], ax
mov al, byte [0x4f1402]
mov byte [ebp + edi - 0x373], al
call fcn.0040cf50
mov byte [ebp - 4], 9
lea eax, [ebp - 0x660]
cmp dword [ebp - 0x64c], 0x10
mov esi, dword [ebp - 0x650]
cmovae eax, dword [ebp - 0x660]
push esi
push eax
lea eax, [ebp + edi - 0x372]
push eax
call fcn.004aee70
add esp, 0x24
add edi, esi
lea ecx, [ebx + 8]
call fcn.00444140
cmp byte [eax + 0x300], 0
jne 0x4286a3
cmp byte [0x5102e0], 0
je 0x4286a3
mov eax, dword [sym.imp.USER32.dll_MessageBoxA]
push 0
push 0x4f1404
push str.token_len__0
push 0
call eax
mov eax, dword [str.e5:token]
lea ecx, [ebx + 8]
mov dword [ebp + edi - 0x372], eax
mov eax, dword [0x4f143c]
mov dword [ebp + edi - 0x36e], eax
add edi, 0xe
call fcn.00444140
lea ecx, [ebp - 0x678]
movzx edx, byte [eax + 0x300]
call fcn.0040cf50
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x678]
cmp dword [ebp - 0x664], 0x10
mov esi, dword [ebp - 0x668]
cmovae eax, dword [ebp - 0x678]
push esi
push eax
lea eax, [ebp - 0x378]
add eax, edi
push eax
call fcn.004aee70
add edi, esi
lea ecx, [ebx + 8]
add esp, 0xc
mov byte [ebp + edi - 0x378], 0x3a
inc edi
call fcn.00444140
lea ecx, [ebx + 8]
mov esi, eax
call fcn.00444140
movzx ecx, byte [esi + 0x300]
add eax, 0x301
push ecx
push eax
lea eax, [ebp - 0x378]
add eax, edi
push eax
call fcn.004aee70
add esp, 0xc
lea ecx, [ebx + 8]
call fcn.00444140
movups xmm0, xmmword [str.e1:q13:announce_peer1:t4:]
movzx eax, byte [eax + 0x300]
add edi, eax
movzx eax, byte [0x4f1460]
movups xmmword [ebp + edi - 0x378], xmm0
movq xmm0, qword [0x4f1458]
movq qword [ebp + edi - 0x368], xmm0
mov byte [ebp + edi - 0x360], al
call fcn.004b5e13
mov word [ebp + edi - 0x35f], ax
call fcn.004b5e13
mov ecx, dword [ebp - 0x63c]
movzx eax, ax
mov word [ebp + edi - 0x35d], ax
mov eax, dword [ebp + edi - 0x35f]
mov dword [ecx + 0x158], eax
mov eax, dword [0x4f1464]
mov dword [ebp + edi - 0x35b], eax
movzx eax, word [0x4f1468]
mov word [ebp + edi - 0x357], ax
movzx eax, byte [0x4f146a]
push 1
mov byte [ebp + edi - 0x355], al
call dword [sym.imp.WS2_32.dll_htons]
movzx eax, ax
mov word [ebp + edi - 0x354], ax
mov eax, dword [str.1:y1:qe]
mov dword [ebp + edi - 0x352], eax
movzx eax, word [0x4f1470]
mov word [ebp + edi - 0x34e], ax
movzx eax, byte [0x4f1472]
mov byte [ebp + edi - 0x34c], al
add edi, 0x2d
cmp edi, 0x1a3
jle 0x428841
cmp byte [0x5102e0], 0
je 0x428841
push 0
push str.send_dht___DHT_QUERY_ANNOUNCE_PEER
push 0x4f1498
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0x10
lea eax, [ebp - 0x6d0]
push eax
push 0
push edi
lea eax, [ebp - 0x378]
push eax
push dword [0x50e5f0]
call dword [sym.imp.WS2_32.dll_sendto]
mov eax, dword [ebp - 0x63c]
lea ecx, [ebx + 8]
mov dword [eax + 0x150], 0
mov eax, dword [ebp - 0x63c]
mov dword [eax + 0x154], 3
mov eax, dword [ebp - 0x63c]
mov byte [eax + 0x161], 1
call fcn.00444140
mov ecx, dword [ebp - 0x63c]
add dword [0x50e4e4], edi
movups xmm0, xmmword [eax + 0x2c0]
movups xmmword [ecx + 0x162], xmm0
mov eax, dword [eax + 0x2d0]
mov dword [ecx + 0x172], eax
mov eax, dword [ebp - 0x63c]
movups xmm0, xmmword [eax + 0x150]
movups xmmword [eax + 0x218], xmm0
movups xmm0, xmmword [eax + 0x160]
movups xmmword [eax + 0x228], xmm0
movq xmm0, qword [eax + 0x170]
movq qword [eax + 0x238], xmm0
mov eax, dword [ebp - 0x63c]
mov byte [eax + 0x2a2], 1
lea ecx, [ebp - 0x678]
mov byte [ebp - 4], 0xb
call fcn.00406cd0
lea ecx, [ebp - 0x660]
mov byte [ebp - 4], 0xc
call fcn.00406cd0
lea ecx, [ebp - 0x6a8]
mov byte [ebp - 4], 0xd
call fcn.00406cd0
jmp 0x428942
cmp byte [0x5102e0], 0
je 0x428942
push 0
push 0x4f14b4
push str.DHT_QUERY_error_query_type_dht
push 0
call esi
lea ecx, [ebx + 8]
call fcn.004079a0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004ad19c
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret