Function at 0x7ed1ef
Capabilities:
Check http status code
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x8586fc
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x38c
push esi
mov dword [ebp - 0x248], ecx
mov dword [ebp - 0x244], 0
lea eax, [ebp - 0x68]
push eax
push 0x139824c
lea ecx, [ebp - 0x1c]
call fcn.007cd0f0
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0x248]
add ecx, 0x18
push ecx
call fcn.007ceff6
add esp, 4
test eax, eax
jne 0x7ed2b7
sub esp, 0x10
mov ecx, esp
mov dword [ebp - 0x6c], esp
lea edx, [ebp - 0x70]
push edx
push 0x1398250
call fcn.007cd0f0
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x24c]
mov dword [ebp - 0x250], eax
mov byte [ebp - 4], 2
sub esp, 0x10
mov ecx, esp
mov dword [ebp - 0x74], esp
push 0x7d
push ecx
call fcn.007cfebd
add esp, 8
mov dword [ebp - 0x254], eax
push 0x7d
lea edx, [ebp - 0x84]
push edx
mov byte [ebp - 4], 1
call fcn.007d60b0
add esp, 0x28
mov dword [ebp - 0x258], eax
lea ecx, [ebp - 0x84]
call fcn.007cd120
lea eax, [ebp - 0x1c]
push eax
mov ecx, dword [ebp - 0x248]
call fcn.007eb519
test eax, eax
jne 0x7ed2f9
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, dword [ebp + 8]
call fcn.007f8010
mov edx, dword [ebp - 0x244]
or edx, 1
mov dword [ebp - 0x244], edx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1c]
call fcn.007cd120
mov eax, dword [ebp + 8]
jmp 0x7ede7f
push 0xb
lea eax, [ebp - 0x54]
push eax
call fcn.007d4d4f
add esp, 8
mov byte [ebp - 4], 3
sub esp, 0x10
mov ecx, esp
mov dword [ebp - 0x88], esp
push 2
push ecx
call fcn.007cf41d
add esp, 8
mov dword [ebp - 0x25c], eax
mov edx, dword [ebp - 0x25c]
mov dword [ebp - 0x260], edx
mov byte [ebp - 4], 4
sub esp, 0x10
mov eax, esp
mov dword [ebp - 0x8c], esp
push 0
push eax
call fcn.007cf41d
add esp, 8
mov dword [ebp - 0x264], eax
lea ecx, [ebp - 0x54]
push ecx
mov ecx, dword [ebp - 0x248]
mov byte [ebp - 4], 3
call fcn.007ea920
mov edx, dword [ebp - 0x248]
add edx, 0x442
sub esp, 0x10
mov eax, esp
mov dword [ebp - 0x90], esp
push edx
push eax
mov ecx, dword [ebp - 0x248]
call fcn.007e5ece
mov dword [ebp - 0x268], eax
mov ecx, dword [ebp - 0x268]
mov dword [ebp - 0x26c], ecx
mov byte [ebp - 4], 5
sub esp, 0x10
mov edx, esp
mov dword [ebp - 0x94], esp
push 5
push edx
call fcn.007cf6e1
add esp, 8
mov dword [ebp - 0x270], eax
lea eax, [ebp - 0x54]
push eax
mov ecx, dword [ebp - 0x248]
mov byte [ebp - 4], 3
call fcn.007ea920
push 0x22
lea ecx, [ebp - 0xa4]
push ecx
call fcn.007d4d4f
add esp, 8
mov dword [ebp - 0x274], eax
mov edx, dword [ebp - 0x274]
mov dword [ebp - 0x278], edx
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x278]
push eax
lea ecx, [ebp - 0x54]
push ecx
lea edx, [ebp - 0xb4]
push edx
call fcn.007fb960
add esp, 0xc
mov dword [ebp - 0x27c], eax
mov eax, dword [ebp - 0x27c]
mov dword [ebp - 0x280], eax
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x280]
push ecx
lea ecx, [ebp - 0x54]
call fcn.007f8050
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xb4]
call fcn.007cd120
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xa4]
call fcn.007cd120
mov byte [ebp - 0x40], 0
lea edx, [ebp - 0x40]
push edx
sub esp, 0x10
mov ecx, esp
mov dword [ebp - 0xb8], esp
lea eax, [ebp - 0x54]
push eax
call fcn.007f8010
mov dword [ebp - 0x284], eax
lea ecx, [ebp - 0x64]
push ecx
mov ecx, dword [ebp - 0x248]
call fcn.007e6b1d
mov dword [ebp - 0x288], eax
mov byte [ebp - 4], 8
push 0x1398254
lea edx, [ebp - 0x64]
push edx
call fcn.007cd6a0
add esp, 8
and eax, 0xff
test eax, eax
je 0x7ed553
sub esp, 0x10
mov ecx, esp
mov dword [ebp - 0xbc], esp
lea eax, [ebp - 0xc0]
push eax
push 0x1398258
call fcn.007cd0f0
mov dword [ebp - 0x28c], eax
mov ecx, dword [ebp - 0x28c]
mov dword [ebp - 0x290], ecx
mov byte [ebp - 4], 9
sub esp, 0x10
mov edx, esp
mov dword [ebp - 0xc4], esp
push 0xa5
push edx
call fcn.007cfebd
add esp, 8
mov dword [ebp - 0x294], eax
push 0xa5
mov eax, dword [ebp + 8]
push eax
mov byte [ebp - 4], 8
call fcn.007d60b0
add esp, 0x28
mov dword [ebp - 0x298], eax
mov ecx, dword [ebp - 0x244]
or ecx, 1
mov dword [ebp - 0x244], ecx
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x64]
call fcn.007cd120
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x54]
call fcn.007cd120
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1c]
call fcn.007cd120
mov eax, dword [ebp + 8]
jmp 0x7ede7f
lea edx, [ebp - 0x64]
push edx
mov eax, dword [ebp - 0x248]
add eax, 0x5b4
push eax
lea ecx, [ebp - 0xd4]
push ecx
mov ecx, dword [ebp - 0x248]
call fcn.007e5ece
mov dword [ebp - 0x29c], eax
mov edx, dword [ebp - 0x29c]
mov dword [ebp - 0x2a0], edx
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x2a0]
push eax
lea ecx, [ebp - 0xe4]
push ecx
call fcn.007fb960
add esp, 0xc
mov dword [ebp - 0x2a4], eax
mov edx, dword [ebp - 0x2a4]
mov dword [ebp - 0x2a8], edx
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x2a8]
push eax
lea ecx, [ebp - 0x54]
call fcn.007f8050
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xe4]
call fcn.007cd120
mov byte [ebp - 4], 8
lea ecx, [ebp - 0xd4]
call fcn.007cd120
mov ecx, dword [ebp - 0x248]
add ecx, 0x442
push ecx
lea edx, [ebp - 0xf4]
push edx
mov ecx, dword [ebp - 0x248]
call fcn.007e5ece
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebp - 0x2ac]
mov dword [ebp - 0x2b0], eax
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x2b0]
push ecx
push 0x23
lea edx, [ebp - 0x104]
push edx
call fcn.007d4d4f
add esp, 8
mov dword [ebp - 0x2b4], eax
mov eax, dword [ebp - 0x2b4]
mov dword [ebp - 0x2b8], eax
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x2b8]
push ecx
push 4
lea edx, [ebp - 0x114]
push edx
mov ecx, dword [ebp - 0x248]
call fcn.007e6874
mov dword [ebp - 0x2bc], eax
mov eax, dword [ebp - 0x2bc]
mov dword [ebp - 0x2c0], eax
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x2c0]
push ecx
lea edx, [ebp + 0xc]
push edx
lea eax, [ebp - 0x124]
push eax
mov ecx, dword [ebp - 0x248]
call fcn.007e99fa
mov dword [ebp - 0x2c4], eax
mov ecx, dword [ebp - 0x2c4]
mov dword [ebp - 0x2c8], ecx
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0x2c8]
push edx
lea eax, [ebp - 0x134]
push eax
call fcn.007fb960
add esp, 0xc
mov dword [ebp - 0x2cc], eax
mov ecx, dword [ebp - 0x2cc]
mov dword [ebp - 0x2d0], ecx
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x2d0]
push edx
lea eax, [ebp - 0x144]
push eax
call fcn.007fb960
add esp, 0xc
mov dword [ebp - 0x2d4], eax
mov ecx, dword [ebp - 0x2d4]
mov dword [ebp - 0x2d8], ecx
mov byte [ebp - 4], 0x11
mov edx, dword [ebp - 0x2d8]
push edx
lea eax, [ebp - 0x2c]
push eax
call fcn.007fb960
add esp, 0xc
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x144]
call fcn.007cd120
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x134]
call fcn.007cd120
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x124]
call fcn.007cd120
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x114]
call fcn.007cd120
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x104]
call fcn.007cd120
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0xf4]
call fcn.007cd120
sub esp, 0x10
mov ecx, esp
mov dword [ebp - 0x148], esp
push 2
push ecx
call fcn.007cf41d
add esp, 8
mov dword [ebp - 0x2dc], eax
mov edx, dword [ebp - 0x2dc]
mov dword [ebp - 0x2e0], edx
mov byte [ebp - 4], 0x19
sub esp, 0x10
mov ecx, esp
mov dword [ebp - 0x14c], esp
lea eax, [ebp - 0x54]
push eax
call fcn.007f8010
mov dword [ebp - 0x2e4], eax
mov ecx, dword [ebp - 0x2e4]
mov dword [ebp - 0x2e8], ecx
mov byte [ebp - 4], 0x1a
sub esp, 0x10
mov ecx, esp
mov dword [ebp - 0x150], esp
lea edx, [ebp - 0x2c]
push edx
call fcn.007f8010
mov dword [ebp - 0x2ec], eax
mov eax, dword [ebp - 0x2ec]
mov dword [ebp - 0x2f0], eax
mov byte [ebp - 4], 0x1b
sub esp, 0x10
mov ecx, esp
mov dword [ebp - 0x154], esp
push 2
push ecx
call fcn.007cf41d
add esp, 8
mov dword [ebp - 0x2f4], eax
mov dx, word [ebp + 0xc]
push edx
mov ecx, dword [ebp - 0x248]
mov byte [ebp - 4], 0x13
call fcn.007e9a41
mov dword [ebp - 0x44], 0
sub esp, 0x10
mov eax, esp
mov dword [ebp - 0x158], esp
push 2
push eax
call fcn.007cf41d
add esp, 8
mov dword [ebp - 0x2f8], eax
mov ecx, dword [ebp - 0x2f8]
mov dword [ebp - 0x2fc], ecx
mov byte [ebp - 4], 0x1c
lea edx, [ebp - 0x44]
push edx
sub esp, 0x10
mov ecx, esp
mov dword [ebp - 0x15c], esp
lea eax, [ebp - 0x54]
push eax
call fcn.007f8010
mov dword [ebp - 0x300], eax
mov ecx, dword [ebp - 0x300]
mov dword [ebp - 0x304], ecx
mov byte [ebp - 4], 0x1d
sub esp, 0x10
mov ecx, esp
mov dword [ebp - 0x160], esp
lea edx, [ebp - 0x2c]
push edx
call fcn.007f8010
mov dword [ebp - 0x308], eax
lea eax, [ebp - 0x3c]
push eax
mov ecx, dword [ebp - 0x248]
mov ecx, dword [ecx + 0x10]
mov byte [ebp - 4], 0x13
call fcn.00802ab5
mov dword [ebp - 0x30c], eax
mov byte [ebp - 4], 0x1e
cmp dword [ebp - 0x44], 0xc8
jne 0x7edd62
push 0xb
lea edx, [ebp - 0x174]
push edx
call fcn.007d4d4f
add esp, 8
mov dword [ebp - 0x310], eax
mov eax, dword [ebp - 0x310]
mov dword [ebp - 0x314], eax
mov byte [ebp - 4], 0x1f
mov ecx, dword [ebp - 0x314]
push ecx
push 5
push 0
lea edx, [ebp - 0x184]
push edx
lea ecx, [ebp - 0x3c]
call fcn.007f8330
mov dword [ebp - 0x318], eax
mov eax, dword [ebp - 0x318]
mov dword [ebp - 0x31c], eax
mov byte [ebp - 4], 0x20
mov ecx, dword [ebp - 0x31c]
push ecx
call fcn.007fba00
add esp, 8
mov byte [ebp - 0x164], al
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x184]
call fcn.007cd120
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x174]
call fcn.007cd120
mov edx, dword [ebp - 0x164]
and edx, 0xff
test edx, edx
je 0x7edb32
lea eax, [ebp + 0xc]
push eax
mov ecx, dword [ebp - 0x248]
call fcn.007e9994
test eax, eax
je 0x7ed9df
mov cx, word [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x248]
call fcn.007ed1ef
mov eax, dword [ebp - 0x244]
or al, 1
mov dword [ebp - 0x244], eax
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x3c]
call fcn.007cd120
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x2c]
call fcn.007cd120
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x64]
call fcn.007cd120
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x54]
call fcn.007cd120
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1c]
call fcn.007cd120
mov eax, dword [ebp + 8]
jmp 0x7ede7f
push 0x25
lea ecx, [ebp - 0x198]
push ecx
call fcn.007d4d4f
add esp, 8
mov dword [ebp - 0x320], eax
mov edx, dword [ebp - 0x320]
mov dword [ebp - 0x324], edx
mov byte [ebp - 4], 0x21
sub esp, 0x10
mov esi, esp
mov dword [ebp - 0x188], esp
mov eax, dword [ebp - 0x324]
push eax
lea ecx, [ebp - 0x3c]
push ecx
push 0x24
lea edx, [ebp - 0x1a8]
push edx
call fcn.007d4d4f
add esp, 8
mov dword [ebp - 0x328], eax
mov eax, dword [ebp - 0x328]
mov dword [ebp - 0x32c], eax
mov byte [ebp - 4], 0x22
mov ecx, dword [ebp - 0x32c]
push ecx
lea edx, [ebp - 0x1b8]
push edx
call fcn.007fb960
add esp, 0xc
mov dword [ebp - 0x330], eax
mov eax, dword [ebp - 0x330]
mov dword [ebp - 0x334], eax
mov byte [ebp - 4], 0x23
mov ecx, dword [ebp - 0x334]
push ecx
push esi
call fcn.007fb960
add esp, 0xc
mov dword [ebp - 0x338], eax
mov edx, dword [ebp - 0x338]
mov dword [ebp - 0x33c], edx
mov byte [ebp - 4], 0x24
sub esp, 0x10
mov eax, esp
mov dword [ebp - 0x1bc], esp
push 0x81
push eax
call fcn.007cfebd
add esp, 8
mov dword [ebp - 0x340], eax
push 0x81
lea ecx, [ebp - 0x1cc]
push ecx
mov byte [ebp - 4], 0x23
call fcn.007d60b0
add esp, 0x28
mov dword [ebp - 0x344], eax
mov edx, dword [ebp - 0x344]
mov dword [ebp - 0x348], edx
mov byte [ebp - 4], 0x25
mov eax, dword [ebp - 0x348]
push eax
lea ecx, [ebp - 0x1c]
call fcn.007f8050
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x1cc]
call fcn.007cd120
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x1b8]
call fcn.007cd120
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x1a8]
call fcn.007cd120
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x198]
call fcn.007cd120
jmp 0x7edd5d
lea ecx, [ebp - 0x3c]
push ecx
lea ecx, [ebp - 0x1c]
call fcn.007f8050
lea ecx, [ebp - 0x1c]
call fcn.007fa310
sub eax, 6
push eax
push 0
lea edx, [ebp - 0x1dc]
push edx
lea ecx, [ebp - 0x1c]
call fcn.007f8330
mov dword [ebp - 0x34c], eax
mov eax, dword [ebp - 0x34c]
mov dword [ebp - 0x350], eax
mov byte [ebp - 4], 0x26
mov ecx, dword [ebp - 0x350]
push ecx
lea ecx, [ebp - 0x1c]
call fcn.007f8050
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x1dc]
call fcn.007cd120
mov edx, dword [ebp - 0x248]
add edx, 0x7d0
sub esp, 0x10
mov eax, esp
mov dword [ebp - 0x1e0], esp
push edx
push eax
mov ecx, dword [ebp - 0x248]
call fcn.007e5ece
mov dword [ebp - 0x354], eax
mov ecx, dword [ebp - 0x354]
mov dword [ebp - 0x358], ecx
mov byte [ebp - 4], 0x27
sub esp, 0x10
mov edx, esp
mov dword [ebp - 0x1e4], esp
push 0x26
push edx
call fcn.007d4d4f
add esp, 8
mov dword [ebp - 0x35c], eax
lea eax, [ebp - 0x1c]
push eax
mov ecx, dword [ebp - 0x248]
mov byte [ebp - 4], 0x1e
call fcn.007ea869
mov ecx, dword [ebp - 0x248]
add ecx, 0x898
sub esp, 0x10
mov edx, esp
mov dword [ebp - 0x1e8], esp
push ecx
push edx
mov ecx, dword [ebp - 0x248]
call fcn.007e5ece
mov dword [ebp - 0x360], eax
mov eax, dword [ebp - 0x360]
mov dword [ebp - 0x364], eax
mov byte [ebp - 4], 0x28
sub esp, 0x10
mov ecx, esp
mov dword [ebp - 0x1ec], esp
push 0x27
push ecx
call fcn.007d4d4f
add esp, 8
mov dword [ebp - 0x368], eax
lea edx, [ebp - 0x1c]
push edx
mov ecx, dword [ebp - 0x248]
mov byte [ebp - 4], 0x1e
call fcn.007ea869
sub esp, 0x10
mov ecx, esp
mov dword [ebp - 0x1f0], esp
lea eax, [ebp - 0x1f4]
push eax
push 0x1354910
call fcn.007cd0f0
mov dword [ebp - 0x36c], eax
mov ecx, dword [ebp - 0x36c]
mov dword [ebp - 0x370], ecx
mov byte [ebp - 4], 0x29
sub esp, 0x10
mov ecx, esp
mov dword [ebp - 0x1f8], esp
lea edx, [ebp - 0x1fc]
push edx
push str.dllver
call fcn.007cd0f0
mov dword [ebp - 0x374], eax
lea eax, [ebp - 0x1c]
push eax
mov ecx, dword [ebp - 0x248]
mov byte [ebp - 4], 0x1e
call fcn.007ea869
push 0x22
lea ecx, [ebp - 0x20c]
push ecx
call fcn.007d4d4f
add esp, 8
mov dword [ebp - 0x378], eax
mov edx, dword [ebp - 0x378]
mov dword [ebp - 0x37c], edx
mov byte [ebp - 4], 0x2a
mov eax, dword [ebp - 0x37c]
push eax
lea ecx, [ebp - 0x1c]
push ecx
lea edx, [ebp - 0x21c]
push edx
call fcn.007fb960
add esp, 0xc
mov dword [ebp - 0x380], eax
mov eax, dword [ebp - 0x380]
mov dword [ebp - 0x384], eax
mov byte [ebp - 4], 0x2b
mov ecx, dword [ebp - 0x384]
push ecx
lea ecx, [ebp - 0x1c]
call fcn.007f8050
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x21c]
call fcn.007cd120
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x20c]
call fcn.007cd120
mov edx, dword [ebp - 0x248]
mov ax, word [ebp + 0xc]
mov word [edx + 0x962], ax
jmp 0x7ede26
lea ecx, [ebp + 0xc]
push ecx
mov ecx, dword [ebp - 0x248]
call fcn.007e9994
test eax, eax
je 0x7eddc2
mov dx, word [ebp + 0xc]
push edx
lea eax, [ebp - 0x22c]
push eax
mov ecx, dword [ebp - 0x248]
call fcn.007ed1ef
mov dword [ebp - 0x388], eax
mov ecx, dword [ebp - 0x388]
mov dword [ebp - 0x38c], ecx
mov byte [ebp - 4], 0x2c
mov edx, dword [ebp - 0x38c]
push edx
lea ecx, [ebp - 0x1c]
call fcn.007f8050
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x22c]
call fcn.007cd120
jmp 0x7ede26
sub esp, 0x10
mov ecx, esp
mov dword [ebp - 0x230], esp
lea eax, [ebp - 0x3c]
push eax
call fcn.007f8010
mov dword [ebp - 0x390], eax
mov ecx, dword [ebp - 0x44]
push ecx
lea edx, [ebp - 0x240]
push edx
mov ecx, dword [ebp - 0x248]
call fcn.007e8932
mov dword [ebp - 0x394], eax
mov eax, dword [ebp - 0x394]
mov dword [ebp - 0x398], eax
mov byte [ebp - 4], 0x2d
mov ecx, dword [ebp - 0x398]
push ecx
lea ecx, [ebp - 0x1c]
call fcn.007f8050
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x240]
call fcn.007cd120
lea edx, [ebp - 0x1c]
push edx
mov ecx, dword [ebp + 8]
call fcn.007f8010
mov eax, dword [ebp - 0x244]
or al, 1
mov dword [ebp - 0x244], eax
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x3c]
call fcn.007cd120
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x2c]
call fcn.007cd120
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x64]
call fcn.007cd120
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x54]
call fcn.007cd120
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1c]
call fcn.007cd120
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret 8