Function at 0x101336e0
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x750
mov eax, dword [0x103fbc90]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
mov eax, dword [ebp + 8]
mov dword [ebp - 0x6e4], eax
mov ecx, dword [ebp - 0x6e4]
mov dword [ebp - 0x6d4], ecx
mov edx, dword [ebp - 0x6e4]
add edx, dword [ebp + 0xc]
mov dword [ebp - 0x6dc], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
push eax
push str.Writing_STUN_message__class0x_X__method0x_X
push 0x71
push 0x103eb998
push 0
call fcn.10126d90
add esp, 0x18
mov ecx, dword [ebp + 0x10]
add ecx, 8
push ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0x6dc]
sub eax, dword [ebp - 0x6d4]
push eax
mov ecx, dword [ebp - 0x6d4]
push ecx
call fcn.10134720
add esp, 0x14
mov dword [ebp - 0x6d8], eax
cmp dword [ebp - 0x6d8], 0
ja 0x10133780
jmp 0x101346e1
mov edx, dword [ebp - 0x6d4]
add edx, dword [ebp - 0x6d8]
mov dword [ebp - 0x6d4], edx
mov eax, dword [ebp - 0x6d4]
mov dword [ebp - 0x6ec], eax
mov ecx, dword [ebp + 0x10]
cmp dword [ecx + 0x14], 0
je 0x10133889
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x14]
push eax
call fcn.10136c40
add esp, 4
mov dword [ebp - 0x6f4], eax
lea ecx, [ebp - 0x6d0]
mov dword [ebp - 0x6e8], ecx
push 4
push 0
mov edx, dword [ebp - 0x6e8]
push edx
call fcn.103170a0
add esp, 0xc
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x14]
xor edx, edx
mov ecx, 0x64
div ecx
and eax, 7
mov edx, dword [ebp - 0x6e8]
mov byte [edx + 2], al
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x14]
xor edx, edx
mov ecx, 0x64
div ecx
mov eax, dword [ebp - 0x6e8]
mov byte [eax + 3], dl
mov ecx, dword [ebp - 0x6f4]
push ecx
mov edx, dword [ebp - 0x6e8]
add edx, 4
push edx
call fcn.10328030
add esp, 8
mov eax, dword [ebp - 0x6f4]
push eax
call fcn.103206f0
add esp, 4
add eax, 4
push eax
mov ecx, dword [ebp - 0x6e8]
push ecx
push 9
mov edx, dword [ebp - 0x6dc]
sub edx, dword [ebp - 0x6d4]
push edx
mov eax, dword [ebp - 0x6d4]
push eax
call fcn.101347e0
add esp, 0x14
mov dword [ebp - 0x6d8], eax
cmp dword [ebp - 0x6d8], 0
ja 0x10133877
jmp 0x101346e1
mov ecx, dword [ebp - 0x6d4]
add ecx, dword [ebp - 0x6d8]
mov dword [ebp - 0x6d4], ecx
mov edx, dword [ebp + 0x10]
cmp dword [edx + 0xb8], 0
je 0x1013395c
push str.Writing_XOR_mapped_address
push 0x89
push 0x103eba08
push 0
call fcn.10126d90
add esp, 0x10
push 0x2112a442
call dword [sym.imp.WS2_32.dll_htonl]
mov dword [ebp - 0x34], eax
push 0xc
mov eax, dword [ebp + 0x10]
add eax, 8
push eax
lea ecx, [ebp - 0x30]
push ecx
call fcn.10316b20
add esp, 0xc
lea edx, [ebp - 0x34]
push edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0xb8]
push ecx
mov edx, dword [ebp + 0x10]
add edx, 0x38
push edx
push 0x20
lea eax, [ebp - 0x88]
push eax
call fcn.10134890
add esp, 0x14
mov dword [ebp - 0x6f8], eax
cmp dword [ebp - 0x6f8], 0
jle 0x1013395c
mov ecx, dword [ebp - 0x6f8]
push ecx
lea edx, [ebp - 0x88]
push edx
push 0x20
mov eax, dword [ebp - 0x6dc]
sub eax, dword [ebp - 0x6d4]
push eax
mov ecx, dword [ebp - 0x6d4]
push ecx
call fcn.101347e0
add esp, 0x14
mov dword [ebp - 0x6d8], eax
cmp dword [ebp - 0x6d8], 0
ja 0x1013394a
jmp 0x101346e1
mov edx, dword [ebp - 0x6d4]
add edx, dword [ebp - 0x6d8]
mov dword [ebp - 0x6d4], edx
mov eax, dword [ebp + 0x10]
cmp dword [eax + 0x18], 0
je 0x101339c5
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 0x18]
push edx
call dword [sym.imp.WS2_32.dll_htonl]
mov dword [ebp - 0x734], eax
push 4
lea eax, [ebp - 0x734]
push eax
push 0x24
mov ecx, dword [ebp - 0x6dc]
sub ecx, dword [ebp - 0x6d4]
push ecx
mov edx, dword [ebp - 0x6d4]
push edx
call fcn.101347e0
add esp, 0x14
mov dword [ebp - 0x6d8], eax
cmp dword [ebp - 0x6d8], 0
ja 0x101339b3
jmp 0x101346e1
mov eax, dword [ebp - 0x6d4]
add eax, dword [ebp - 0x6d8]
mov dword [ebp - 0x6d4], eax
mov ecx, dword [ebp + 0x10]
movzx edx, byte [ecx + 0x30]
test edx, edx
je 0x10133a18
push 0
push 0
push 0x25
mov eax, dword [ebp - 0x6dc]
sub eax, dword [ebp - 0x6d4]
push eax
mov ecx, dword [ebp - 0x6d4]
push ecx
call fcn.101347e0
add esp, 0x14
mov dword [ebp - 0x6d8], eax
cmp dword [ebp - 0x6d8], 0
ja 0x10133a06
jmp 0x101346e1
mov edx, dword [ebp - 0x6d4]
add edx, dword [ebp - 0x6d8]
mov dword [ebp - 0x6d4], edx
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x71c], eax
mov ecx, dword [ebp - 0x71c]
mov edx, dword [ebp - 0x71c]
mov eax, dword [ecx + 0x20]
or eax, dword [edx + 0x24]
je 0x10133acc
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 0x20]
push edx
call dword [sym.imp.WS2_32.dll_htonl]
xor edx, edx
mov cl, 0x20
call fcn.10315e40
mov esi, eax
mov edi, edx
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x20]
mov edx, dword [ecx + 0x24]
mov cl, 0x20
call fcn.10315e60
push eax
call dword [sym.imp.WS2_32.dll_htonl]
xor edx, edx
or esi, eax
or edi, edx
mov dword [ebp - 0x740], esi
mov dword [ebp - 0x73c], edi
push 8
lea eax, [ebp - 0x740]
push eax
push 0x802a
mov ecx, dword [ebp - 0x6dc]
sub ecx, dword [ebp - 0x6d4]
push ecx
mov edx, dword [ebp - 0x6d4]
push edx
call fcn.101347e0
add esp, 0x14
mov dword [ebp - 0x6d8], eax
cmp dword [ebp - 0x6d8], 0
ja 0x10133aba
jmp 0x101346e1
mov eax, dword [ebp - 0x6d4]
add eax, dword [ebp - 0x6d8]
mov dword [ebp - 0x6d4], eax
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x718], ecx
mov edx, dword [ebp - 0x718]
mov eax, dword [ebp - 0x718]
mov ecx, dword [edx + 0x28]
or ecx, dword [eax + 0x2c]
je 0x10133b80
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x28]
push eax
call dword [sym.imp.WS2_32.dll_htonl]
xor edx, edx
mov cl, 0x20
call fcn.10315e40
mov esi, eax
mov edi, edx
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x28]
mov edx, dword [ecx + 0x2c]
mov cl, 0x20
call fcn.10315e60
push eax
call dword [sym.imp.WS2_32.dll_htonl]
xor edx, edx
or esi, eax
or edi, edx
mov dword [ebp - 0x748], esi
mov dword [ebp - 0x744], edi
push 8
lea eax, [ebp - 0x748]
push eax
push 0x8029
mov ecx, dword [ebp - 0x6dc]
sub ecx, dword [ebp - 0x6d4]
push ecx
mov edx, dword [ebp - 0x6d4]
push edx
call fcn.101347e0
add esp, 0x14
mov dword [ebp - 0x6d8], eax
cmp dword [ebp - 0x6d8], 0
ja 0x10133b6e
jmp 0x101346e1
mov eax, dword [ebp - 0x6d4]
add eax, dword [ebp - 0x6d8]
mov dword [ebp - 0x6d4], eax
mov ecx, dword [ebp + 0x10]
movzx edx, word [ecx + 0xb8c]
test edx, edx
je 0x10133c06
push 4
push 0
lea eax, [ebp - 0x714]
push eax
call fcn.103170a0
add esp, 0xc
mov ecx, dword [ebp + 0x10]
movzx edx, word [ecx + 0xb8c]
push edx
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x714], ax
push 4
lea eax, [ebp - 0x714]
push eax
push 0xc
mov ecx, dword [ebp - 0x6dc]
sub ecx, dword [ebp - 0x6d4]
push ecx
mov edx, dword [ebp - 0x6d4]
push edx
call fcn.101347e0
add esp, 0x14
mov dword [ebp - 0x6d8], eax
cmp dword [ebp - 0x6d8], 0
ja 0x10133bf4
jmp 0x101346e1
mov eax, dword [ebp - 0x6d4]
add eax, dword [ebp - 0x6d8]
mov dword [ebp - 0x6d4], eax
mov ecx, dword [ebp + 0x10]
movzx edx, byte [ecx + 0xb8e]
test edx, edx
jne 0x10133c20
mov eax, dword [ebp + 0x10]
cmp dword [eax + 0xb88], 0
je 0x10133c83
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 0xb88]
push edx
call dword [sym.imp.WS2_32.dll_htonl]
mov dword [ebp - 0x738], eax
push 4
lea eax, [ebp - 0x738]
push eax
push 0xd
mov ecx, dword [ebp - 0x6dc]
sub ecx, dword [ebp - 0x6d4]
push ecx
mov edx, dword [ebp - 0x6d4]
push edx
call fcn.101347e0
add esp, 0x14
mov dword [ebp - 0x6d8], eax
cmp dword [ebp - 0x6d8], 0
ja 0x10133c71
jmp 0x101346e1
mov eax, dword [ebp - 0x6d4]
add eax, dword [ebp - 0x6d8]
mov dword [ebp - 0x6d4], eax
mov ecx, dword [ebp + 0x10]
cmp dword [ecx + 0xa68], 0
je 0x10133d53
push str.Writing_XOR_peer_address
push 0xc4
push 0x103eba78
push 0
call fcn.10126d90
add esp, 0x10
push 0x2112a442
call dword [sym.imp.WS2_32.dll_htonl]
mov dword [ebp - 0x24], eax
push 0xc
mov edx, dword [ebp + 0x10]
add edx, 8
push edx
lea eax, [ebp - 0x20]
push eax
call fcn.10316b20
add esp, 0xc
lea ecx, [ebp - 0x24]
push ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0xa68]
push eax
mov ecx, dword [ebp + 0x10]
add ecx, 0x9e8
push ecx
push 0x20
lea edx, [ebp - 0x68]
push edx
call fcn.10134890
add esp, 0x14
mov dword [ebp - 0x710], eax
cmp dword [ebp - 0x710], 0
jle 0x10133d53
mov eax, dword [ebp - 0x710]
push eax
lea ecx, [ebp - 0x68]
push ecx
push 0x12
mov edx, dword [ebp - 0x6dc]
sub edx, dword [ebp - 0x6d4]
push edx
mov eax, dword [ebp - 0x6d4]
push eax
call fcn.101347e0
add esp, 0x14
mov dword [ebp - 0x6d8], eax
cmp dword [ebp - 0x6d8], 0
ja 0x10133d41
jmp 0x101346e1
mov ecx, dword [ebp - 0x6d4]
add ecx, dword [ebp - 0x6d8]
mov dword [ebp - 0x6d4], ecx
mov edx, dword [ebp + 0x10]
cmp dword [edx + 0xaf0], 0
je 0x10133e29
push str.Writing_XOR_relay_address
push 0xd3
push 0x103ebad8
push 0
call fcn.10126d90
add esp, 0x10
push 0x2112a442
call dword [sym.imp.WS2_32.dll_htonl]
mov dword [ebp - 0x14], eax
push 0xc
mov eax, dword [ebp + 0x10]
add eax, 8
push eax
lea ecx, [ebp - 0x10]
push ecx
call fcn.10316b20
add esp, 0xc
lea edx, [ebp - 0x14]
push edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0xaf0]
push ecx
mov edx, dword [ebp + 0x10]
add edx, 0xa70
push edx
push 0x20
lea eax, [ebp - 0xc8]
push eax
call fcn.10134890
add esp, 0x14
mov dword [ebp - 0x70c], eax
cmp dword [ebp - 0x70c], 0
jle 0x10133e29
mov ecx, dword [ebp - 0x70c]
push ecx
lea edx, [ebp - 0xc8]
push edx
push 0x16
mov eax, dword [ebp - 0x6dc]
sub eax, dword [ebp - 0x6d4]
push eax
mov ecx, dword [ebp - 0x6d4]
push ecx
call fcn.101347e0
add esp, 0x14
mov dword [ebp - 0x6d8], eax
cmp dword [ebp - 0x6d8], 0
ja 0x10133e17
jmp 0x101346e1
mov edx, dword [ebp - 0x6d4]
add edx, dword [ebp - 0x6d8]
mov dword [ebp - 0x6d4], edx
mov eax, dword [ebp + 0x10]
cmp dword [eax + 0xb80], 0
je 0x10133e8d
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 0xb84]
push edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0xb80]
push ecx
push 0x13
mov edx, dword [ebp - 0x6dc]
sub edx, dword [ebp - 0x6d4]
push edx
mov eax, dword [ebp - 0x6d4]
push eax
call fcn.101347e0
add esp, 0x14
mov dword [ebp - 0x6d8], eax
cmp dword [ebp - 0x6d8], 0
ja 0x10133e7b
jmp 0x101346e1
mov ecx, dword [ebp - 0x6d4]
add ecx, dword [ebp - 0x6d8]
mov dword [ebp - 0x6d4], ecx
mov edx, dword [ebp + 0x10]
movzx eax, byte [edx + 0xb8f]
test eax, eax
je 0x10133f20
push 1
push 0
lea ecx, [ebp - 0x6dd]
push ecx
call fcn.103170a0
add esp, 0xc
mov edx, dword [ebp + 0x10]
movzx eax, byte [edx + 0xb90]
test eax, eax
je 0x10133ed3
movzx ecx, byte [ebp - 0x6dd]
or ecx, 0x80
mov byte [ebp - 0x6dd], cl
push 1
lea edx, [ebp - 0x6dd]
push edx
push 0xc
mov eax, dword [ebp - 0x6dc]
sub eax, dword [ebp - 0x6d4]
push eax
mov ecx, dword [ebp - 0x6d4]
push ecx
call fcn.101347e0
add esp, 0x14
mov dword [ebp - 0x6d8], eax
cmp dword [ebp - 0x6d8], 0
ja 0x10133f0e
jmp 0x101346e1
mov edx, dword [ebp - 0x6d4]
add edx, dword [ebp - 0x6d8]
mov dword [ebp - 0x6d4], edx
mov eax, dword [ebp + 0x10]
movzx ecx, byte [eax + 0xb92]
test ecx, ecx
je 0x10133f95
push 4
push 0
lea edx, [ebp - 0x708]
push edx
call fcn.103170a0
add esp, 0xc
mov byte [ebp - 0x708], 0x11
push 4
lea eax, [ebp - 0x708]
push eax
push 0x19
mov ecx, dword [ebp - 0x6dc]
sub ecx, dword [ebp - 0x6d4]
push ecx
mov edx, dword [ebp - 0x6d4]
push edx
call fcn.101347e0
add esp, 0x14
mov dword [ebp - 0x6d8], eax
cmp dword [ebp - 0x6d8], 0
ja 0x10133f83
jmp 0x101346e1
mov eax, dword [ebp - 0x6d4]
add eax, dword [ebp - 0x6d8]
mov dword [ebp - 0x6d4], eax
mov ecx, dword [ebp + 0x10]
movzx edx, byte [ecx + 0xb91]
test edx, edx
je 0x10133feb
push 0
push 0
push 0x1a
mov eax, dword [ebp - 0x6dc]
sub eax, dword [ebp - 0x6d4]
push eax
mov ecx, dword [ebp - 0x6d4]
push ecx
call fcn.101347e0
add esp, 0x14
mov dword [ebp - 0x6d8], eax
cmp dword [ebp - 0x6d8], 0
ja 0x10133fd9
jmp 0x101346e1
mov edx, dword [ebp - 0x6d4]
add edx, dword [ebp - 0x6d8]
mov dword [ebp - 0x6d4], edx
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x704], eax
mov ecx, dword [ebp - 0x704]
mov edx, dword [ebp - 0x704]
mov eax, dword [ecx + 0xb98]
or eax, dword [edx + 0xb9c]
je 0x101340ab
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 0xb98]
push edx
call dword [sym.imp.WS2_32.dll_htonl]
xor edx, edx
mov cl, 0x20
call fcn.10315e40
mov esi, eax
mov edi, edx
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0xb98]
mov edx, dword [ecx + 0xb9c]
mov cl, 0x20
call fcn.10315e60
push eax
call dword [sym.imp.WS2_32.dll_htonl]
xor edx, edx
or esi, eax
or edi, edx
mov dword [ebp - 0x750], esi
mov dword [ebp - 0x74c], edi
push 8
lea eax, [ebp - 0x750]
push eax
push 0x22
mov ecx, dword [ebp - 0x6dc]
sub ecx, dword [ebp - 0x6d4]
push ecx
mov edx, dword [ebp - 0x6d4]
push edx
call fcn.101347e0
add esp, 0x14
mov dword [ebp - 0x6d8], eax
cmp dword [ebp - 0x6d8], 0
ja 0x10134099
jmp 0x101346e1
mov eax, dword [ebp - 0x6d4]
add eax, dword [ebp - 0x6d8]
mov dword [ebp - 0x6d4], eax
mov dword [ebp - 0x700], str.libjuice
mov ecx, dword [ebp - 0x700]
push ecx
call fcn.103206f0
add esp, 4
push eax
mov edx, dword [ebp - 0x700]
push edx
push 0x8022
mov eax, dword [ebp - 0x6dc]
sub eax, dword [ebp - 0x6d4]
push eax
mov ecx, dword [ebp - 0x6d4]
push ecx
call fcn.101347e0
add esp, 0x14
mov dword [ebp - 0x6d8], eax
cmp dword [ebp - 0x6d8], 0
ja 0x10134101
jmp 0x101346e1
mov edx, dword [ebp - 0x6d4]
add edx, dword [ebp - 0x6d8]
mov dword [ebp - 0x6d4], edx
mov eax, dword [ebp + 0x10]
cmp dword [eax], 0
jne 0x101341f5
mov ecx, dword [ebp + 0x10]
movzx edx, byte [ecx + 0x8da]
test edx, edx
je 0x1013417e
push 0x20
mov eax, dword [ebp + 0x10]
add eax, 0x8ba
push eax
push 0x1e
mov ecx, dword [ebp - 0x6dc]
sub ecx, dword [ebp - 0x6d4]
push ecx
mov edx, dword [ebp - 0x6d4]
push edx
call fcn.101347e0
add esp, 0x14
mov dword [ebp - 0x6d8], eax
cmp dword [ebp - 0x6d8], 0
ja 0x1013416a
jmp 0x101346e1
mov eax, dword [ebp - 0x6d4]
add eax, dword [ebp - 0x6d8]
mov dword [ebp - 0x6d4], eax
jmp 0x101341f5
mov ecx, 1
imul edx, ecx, 0
mov eax, dword [ebp + 0x10]
movsx ecx, byte [eax + edx + 0xc0]
test ecx, ecx
je 0x101341f5
mov edx, dword [ebp + 0x10]
add edx, 0xc0
push edx
call fcn.103206f0
add esp, 4
push eax
mov eax, dword [ebp + 0x10]
add eax, 0xc0
push eax
push 6
mov ecx, dword [ebp - 0x6dc]
sub ecx, dword [ebp - 0x6d4]
push ecx
mov edx, dword [ebp - 0x6d4]
push edx
call fcn.101347e0
add esp, 0x14
mov dword [ebp - 0x6d8], eax
cmp dword [ebp - 0x6d8], 0
ja 0x101341e3
jmp 0x101346e1
mov eax, dword [ebp - 0x6d4]
add eax, dword [ebp - 0x6d8]
mov dword [ebp - 0x6d4], eax
mov ecx, dword [ebp + 0x10]
cmp dword [ecx], 0
je 0x10134228
mov edx, dword [ebp + 0x10]
cmp dword [edx], 0x110
jne 0x1013446e
mov eax, dword [ebp + 0x10]
cmp dword [eax + 0x14], 0x191
je 0x10134228
mov ecx, dword [ebp + 0x10]
cmp dword [ecx + 0x14], 0x1b6
jne 0x1013446e
mov edx, 1
imul eax, edx, 0
mov ecx, dword [ebp + 0x10]
movsx edx, byte [ecx + eax + 0x2c2]
test edx, edx
je 0x1013429f
mov eax, dword [ebp + 0x10]
add eax, 0x2c2
push eax
call fcn.103206f0
add esp, 4
push eax
mov ecx, dword [ebp + 0x10]
add ecx, 0x2c2
push ecx
push 0x14
mov edx, dword [ebp - 0x6dc]
sub edx, dword [ebp - 0x6d4]
push edx
mov eax, dword [ebp - 0x6d4]
push eax
call fcn.101347e0
add esp, 0x14
mov dword [ebp - 0x6d8], eax
cmp dword [ebp - 0x6d8], 0
ja 0x1013428d
jmp 0x101346e1
mov ecx, dword [ebp - 0x6d4]
add ecx, dword [ebp - 0x6d8]
mov dword [ebp - 0x6d4], ecx
mov edx, 1
imul eax, edx, 0
mov ecx, dword [ebp + 0x10]
movsx edx, byte [ecx + eax + 0x5be]
test edx, edx
je 0x1013446e
mov eax, dword [ebp + 0x10]
add eax, 0x5be
push eax
call fcn.103206f0
add esp, 4
push eax
mov ecx, dword [ebp + 0x10]
add ecx, 0x5be
push ecx
push 0x15
mov edx, dword [ebp - 0x6dc]
sub edx, dword [ebp - 0x6d4]
push edx
mov eax, dword [ebp - 0x6d4]
push eax
call fcn.101347e0
add esp, 0x14
mov dword [ebp - 0x6d8], eax
cmp dword [ebp - 0x6d8], 0
ja 0x10134308
jmp 0x101346e1
mov ecx, dword [ebp - 0x6d4]
add ecx, dword [ebp - 0x6d8]
mov dword [ebp - 0x6d4], ecx
mov edx, dword [ebp + 0x10]
cmp dword [edx + 0x8dc], 0
jle 0x10134383
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x9e0]
push ecx
mov edx, dword [ebp + 0x10]
add edx, 0x8e0
push edx
push 0x8002
mov eax, dword [ebp - 0x6dc]
sub eax, dword [ebp - 0x6d4]
push eax
mov ecx, dword [ebp - 0x6d4]
push ecx
call fcn.101347e0
add esp, 0x14
mov dword [ebp - 0x6d8], eax
cmp dword [ebp - 0x6d8], 0
ja 0x1013436f
jmp 0x101346e1
mov edx, dword [ebp - 0x6d4]
add edx, dword [ebp - 0x6d8]
mov dword [ebp - 0x6d4], edx
jmp 0x101343f5
mov eax, dword [ebp + 0x10]
cmp dword [eax], 0
je 0x101343f5
lea ecx, [ebp - 0x1c8]
push ecx
call fcn.10136fe0
add esp, 4
mov dword [ebp - 0x720], eax
mov edx, dword [ebp - 0x720]
push edx
lea eax, [ebp - 0x1c8]
push eax
push 0x8002
mov ecx, dword [ebp - 0x6dc]
sub ecx, dword [ebp - 0x6d4]
push ecx
mov edx, dword [ebp - 0x6d4]
push edx
call fcn.101347e0
add esp, 0x14
mov dword [ebp - 0x6d8], eax
cmp dword [ebp - 0x6d8], 0
ja 0x101343e3
jmp 0x101346e1
mov eax, dword [ebp - 0x6d4]
add eax, dword [ebp - 0x6d8]
mov dword [ebp - 0x6d4], eax
mov ecx, dword [ebp + 0x10]
cmp dword [ecx], 0
jne 0x1013446e
mov edx, dword [ebp + 0x10]
cmp dword [edx + 0x8dc], 0
je 0x1013446e
mov eax, dword [ebp + 0x10]
movzx ecx, word [eax + 0x8dc]
push ecx
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x724], ax
push 4
lea edx, [ebp - 0x724]
push edx
push 0x1d
mov eax, dword [ebp - 0x6dc]
sub eax, dword [ebp - 0x6d4]
push eax
mov ecx, dword [ebp - 0x6d4]
push ecx
call fcn.101347e0
add esp, 0x14
mov dword [ebp - 0x6d8], eax
cmp dword [ebp - 0x6d8], 0
ja 0x1013445c
jmp 0x101346e1
mov edx, dword [ebp - 0x6d4]
add edx, dword [ebp - 0x6d8]
mov dword [ebp - 0x6d4], edx
mov eax, dword [ebp + 0x10]
cmp dword [eax], 0x10
je 0x101345fd
cmp dword [ebp + 0x14], 0
je 0x101345fd
lea ecx, [ebp - 0x3cc]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
call fcn.10136e30
add esp, 0xc
mov dword [ebp - 0x6fc], eax
mov ecx, dword [ebp - 0x6d4]
sub ecx, dword [ebp - 0x6ec]
add ecx, 0x18
mov dword [ebp - 0x728], ecx
mov edx, dword [ebp - 0x728]
push edx
mov eax, dword [ebp - 0x6e4]
push eax
call fcn.101347a0
add esp, 8
lea ecx, [ebp - 0x48]
push ecx
mov edx, dword [ebp - 0x6fc]
push edx
lea eax, [ebp - 0x3cc]
push eax
mov ecx, dword [ebp - 0x6d4]
sub ecx, dword [ebp - 0x6e4]
push ecx
mov edx, dword [ebp - 0x6e4]
push edx
call fcn.101380c0
add esp, 0x14
push 0x14
lea eax, [ebp - 0x48]
push eax
push 8
mov ecx, dword [ebp - 0x6dc]
sub ecx, dword [ebp - 0x6d4]
push ecx
mov edx, dword [ebp - 0x6d4]
push edx
call fcn.101347e0
add esp, 0x14
mov dword [ebp - 0x6d8], eax
cmp dword [ebp - 0x6d8], 0
ja 0x10134532
jmp 0x101346e1
mov eax, dword [ebp - 0x6d4]
add eax, dword [ebp - 0x6d8]
mov dword [ebp - 0x6d4], eax
mov ecx, dword [ebp + 0x10]
cmp dword [ecx + 0x8dc], 0
je 0x101345fd
mov edx, dword [ebp - 0x6d4]
sub edx, dword [ebp - 0x6ec]
add edx, 0x24
mov dword [ebp - 0x72c], edx
mov eax, dword [ebp - 0x72c]
push eax
mov ecx, dword [ebp - 0x6e4]
push ecx
call fcn.101347a0
add esp, 8
lea edx, [ebp - 0xa8]
push edx
mov eax, dword [ebp - 0x6fc]
push eax
lea ecx, [ebp - 0x3cc]
push ecx
mov edx, dword [ebp - 0x6d4]
sub edx, dword [ebp - 0x6e4]
push edx
mov eax, dword [ebp - 0x6e4]
push eax
call fcn.10138130
add esp, 0x14
push 0x20
lea ecx, [ebp - 0xa8]
push ecx
push 0x1c
mov edx, dword [ebp - 0x6dc]
sub edx, dword [ebp - 0x6d4]
push edx
mov eax, dword [ebp - 0x6d4]
push eax
call fcn.101347e0
add esp, 0x14
mov dword [ebp - 0x6d8], eax
cmp dword [ebp - 0x6d8], 0
ja 0x101345eb
jmp 0x101346e1
mov ecx, dword [ebp - 0x6d4]
add ecx, dword [ebp - 0x6d8]
mov dword [ebp - 0x6d4], ecx
mov edx, dword [ebp - 0x6d4]
sub edx, dword [ebp - 0x6ec]
add edx, 8
mov dword [ebp - 0x6f0], edx
mov eax, dword [ebp - 0x6f0]
and eax, 3
je 0x10134645
mov ecx, dword [ebp - 0x6f0]
push ecx
push str.Written_STUN_message_length_is_not_multiple_of_4__length_zu
push 0x176
push 0x103ebbc0
push 4
call fcn.10126d90
add esp, 0x14
or eax, 0xffffffff
jmp 0x10134701
mov edx, dword [ebp - 0x6f0]
push edx
mov eax, dword [ebp - 0x6e4]
push eax
call fcn.101347a0
add esp, 8
mov ecx, dword [ebp - 0x6d4]
sub ecx, dword [ebp - 0x6e4]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.101400c0
add esp, 8
xor eax, 0x5354554e
push eax
call dword [sym.imp.WS2_32.dll_htonl]
mov dword [ebp - 0x730], eax
push 4
lea eax, [ebp - 0x730]
push eax
push 0x8028
mov ecx, dword [ebp - 0x6dc]
sub ecx, dword [ebp - 0x6d4]
push ecx
mov edx, dword [ebp - 0x6d4]
push edx
call fcn.101347e0
add esp, 0x14
mov dword [ebp - 0x6d8], eax
cmp dword [ebp - 0x6d8], 0
ja 0x101346c1
jmp 0x101346e1
mov eax, dword [ebp - 0x6d4]
add eax, dword [ebp - 0x6d8]
mov dword [ebp - 0x6d4], eax
mov eax, dword [ebp - 0x6d4]
sub eax, dword [ebp - 0x6e4]
jmp 0x10134701
mov ecx, dword [ebp + 0xc]
push ecx
push str.Not_enough_space_in_buffer_for_STUN_message__size_zu
push 0x184
push 0x103ebc70
push 4
call fcn.10126d90
add esp, 0x14
or eax, 0xffffffff
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10314cf5
mov esp, ebp
pop ebp
ret